"C2120: void 型が他の型と同時に使われました" に関する原因と対処

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

スポンサード リンク

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

コンパイルエラーメッセージ:
error C2120: void 型が他の型と同時に使われました。

ソース(バグ有り):

void test_func() {   }

int main()
{
do { } while(test_func()==1); }


原因:
この例では void型の関数(値を返さない関数)に対して値を要求されました。

要するに test_func は void 型で値を返しませんが、while 内で戻り値を評価しようとしています。

対処:
void 型の関数に関して、どこかコードで戻り値を評価していないか確認します。

この例では test_func は void 型で定義されていますが、while 内で使用しているため、変数を返す型に修正します。


ソース(修正済み):

int test_func() { return 1;  }

int main()
{
do { } while(test_func()==1); }

スポンサード リンク



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