###状況
Visual Studio 2015 で C++ を用いコードを書いていたところ疑問が生じたため質問をさせて下さい。
###発生している問題
templateを用いたコードを初めて書いていたのですが、templateの実装は宣言に書けば良いと聞き、
C++
1class GameObject 2{ 3private: 4 std::vector<Component*> vComponent; 5public: 6 template<class T> 7 void addComponent() 8 { 9 // 処理 10 } 11};
と書いていたところ、一度実行してからaddComponent()ブロック内の処理のみを書き換え、再び実行しても二度目の変更が適用されないことに気づきました。
例えば、
はじめにaddComponent()に std::cout << "one" << std::endl; と記述してから実行し、
次に、std::cout << "two" << std::endl; と記述してから再び実行をしてもコンソールには「one」と描画されてしまいます。
また、文法エラーの警告?(赤い波線)なども一切出ません。template<class T>の部分のみコメントアウトすると出るようになるのですが。。。
どのようにすればこの問題を解決できるでしょうか。
ご回答宜しくお願い申し上げます。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/12/01 13:06
2016/12/01 13:27
2016/12/01 13:45
2016/12/01 14:19
2016/12/01 14:25
2016/12/01 14:57