"" に関する原因と対処

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

スポンサード リンク

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

コンパイルエラーメッセージ:
error C2870: '<不明>': 名前空間定義はファイル スコープ、または他の名前空間定義の中に置かなければなりません。

ソース(バグ有り):

#include <windows.h>

#include <stdio.h>

int main() 
{
WIN32_FIND_DATA ffd;
HANDLE hNextFile = FindFirstFile("c:\\temp\\*.*", &ffd);
if ( hNextFile != INVALID_HANDLE_VALUE )
{
namespace
{
puts(ffd.cFileName);
} while ( FindNextFile(hNextFile, &ffd) );
FindClose(hNextFile);
} }


原因:


対処:


ソース(修正済み):

#include <windows.h>

#include <stdio.h>

int main() 
{
WIN32_FIND_DATA ffd;
HANDLE hNextFile = FindFirstFile("c:\\temp\\*.*", &ffd);
if ( hNextFile != INVALID_HANDLE_VALUE )
{
do
{
puts(ffd.cFileName);
} while ( FindNextFile(hNextFile, &ffd) );
FindClose(hNextFile);
} }

スポンサード リンク



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