"fatal error C1016: #if[n]def は、識別子を必要とします" に関する原因と対処

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

スポンサード リンク

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

コンパイルエラーメッセージ:
fatal error C1016: #if[n]def は、識別子を必要とします。

ソース(バグ有り):

#include <iostream>
#include <fstream>

int main()
{
#ifdef
std::cout << "このコンパイラはANSI Cに基準しています。" << std::endl; #else
std::cout << "このコンパイラはANSI Cに基準していません。" << std::endl; #endif
return 0; }


原因:
#ifdef が見つかりましたが、識別子(identifier)が見つかりませんでした。

対処:
#ifdef に識別子が指定されているか確認します。


ソース(修正済み):

#include <iostream>
#include <fstream>

int main()
{
#ifdef __STDC__
std::cout << "このコンパイラはANSI Cに基準しています。" << std::endl; #else
std::cout << "このコンパイラはANSI Cに基準していません。" << std::endl; #endif
return 0; }

スポンサード リンク



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