※ ChatGPTを利用し、要約された質問です(原文:C++のtemplateクラス前方宣言について教えてください)
C++のtemplateクラス前方宣言について教えてください
2009/03/24 17:07
このQ&Aのポイント
C++のtemplateクラス前方宣言について教えてください。どのように修正すればコンパイルを通すことができるでしょうか?
C++でのtemplateクラス前方宣言について質問があります。コンパイルエラーを修正するためにはどのような修正が必要でしょうか?
C++のtemplateクラスについて質問です。コンパイルエラーの原因と修正方法について教えてください。
C++のtemplateクラス前方宣言について教えてください
C++で、以下のようなコードを書いたのですがコンパイルが通りません。
どのようにコードを修正すればコンパイルを通すことができるでしょうか??教えてください。
template <class _T>
class Test;
// 上をclass Test<_T>にしてもコンパイルは通りません
void main()
{
Test<int> hoge;
}
template <class _T>
class Test
{
public:
_T val;
Test():val(0){};
};
/*!
エラー内容:
前方宣言class Test;の場合
'hoge'が未定義のclass'Test<_T>'で使用しています。
with
{
_T=int
}
前方宣言class Test<_T>;の場合
構文エラー:';'が'<'の前にありません。
構文エラー:'<'
'hoge'が未定義のclass 'Test<_T>'で使用しています。
*/
開発環境:
VisualStudio2005 AcademicEdition
WindowsXP Professional
メモリ:2048MB
CPU:Core2Duo 1.33GHz
よろしくお願いします。
質問の原文を閉じる
質問の原文を表示する
お礼
回答ありがとうございます。 確認してみたところ、なるほど確かに、そう言われて問題の個所を訂正したところコンパイルが通りました。 関数のプロトタイプ宣言と混同していたようです。 ありがとうございました。