"error C2079: '<名前>' が 未定義の class '<クラス名>' で使用しています。" に関する原因と対処

このコンパイルエラーの原因と対処に関して説明します。

スポンサード リンク

Microsoft Visual C++にて以下のソースでコンパイルエラーが発生します:

コンパイルエラーメッセージ:
error C2079: 'testfile' が 未定義の class 'std::basic_ofstream<wchar_t,std::char_traits<wchar_t>>' で使用しています。

ソース(バグ有り):

#include <iostream>



int main( ) 
{
using namespace std;
wofstream testfile( "c:\\temp\\test.txt" );
testfile << L"wofstream test";
//ファイルの出力ポインタの場所をセット
wstreampos p = testfile.tellp( );
cout << "ファイルの出力ポインタの場所:" << p << endl; }


原因:
定義されていない構造体あるいは共用体が使用されています。

あるいは必要な include ファイルが指定されていません。

対処:
クラスあるいは共有体の定義を見直します。

あるいは必要なincludeファイルを指定します。

この例では #include <fstream> が include されていないため、std::basic_ofstream<wchar_t,std::char_traits<wchar_t>> が見つかりませんでした。


ソース(修正済み):

#include <iostream>

#include <fstream>

int main( ) 
{
using namespace std;
wofstream testfile( "c:\\temp\\test.txt" );
testfile << L"wofstream test";
//ファイルの出力ポインタの場所をセット
wstreampos p = testfile.tellp( );
cout << "ファイルの出力ポインタの場所:" << p << endl; }

スポンサード リンク



[コンパイルエラーコード、メッセージに戻る]