実現したいこと
LINK2001エラーを解決したい
前提
C++でhppファイルとcppファイルに分けてクラスを定義した際に、LINK2001エラーが起こりました。
発生している問題・エラーメッセージ
LNK2001 外部シンボル "void __cdecl blockInit<struct project::block_data_type>(class block<struct project::block_data_type> &)" (??$blockInit@Ublock_data_type@project@@@@YAXAEAV?$block@Ublock_data_type@project@@@@@Z) は未解決です LNK2001 外部シンボル "public: void __cdecl block<struct project::block_data_type>::setColor(struct s3d::Color)" (?setColor@?$block@Ublock_data_type@project@@@@QEAAXUColor@s3d@@@Z) は未解決です
該当のソースコード
Main.cpp
C++
1#include <blocks.hpp> 2int main(){ 3 block<int> a; 4 a.setColor(Palette::White); 5}
blocks.cpp
C++
1#include <blocks.hpp> 2template<typename data_type> 3void block<data_type>::setColor(Color color) noexcept { 4 fontColor = color; 5}
blocks.hpp
C++
1template<typename data_type> 2class block { 3public: 4 void setColor(Color color) noexcept; 5}
試したこと
LINK2001のページを読みましたが、情報を得られませんでした。
補足情報(FW/ツールのバージョンなど)
これ以外にもコードはありますが、重要と思われる場所のみ記述しました。
また、Siv3Dを利用しています。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2023/04/03 11:19
2023/04/03 14:47 編集