"error C2105: '<オペレータ名>' には左辺値が必要です" に関する原因と対処

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

スポンサード リンク

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

コンパイルエラーメッセージ:
error C2105: '++' には左辺値が必要です。

ソース(バグ有り):

//浮動小数点数の乱数を生成するサンプルプログラム

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main(void)
{
srand((unsigned int)time( 0 ));
for( int i = 0; i < 10. ++i )
{ printf( "%f\n", (double)rand() / RAND_MAX ); }
return 0; }


原因:
オペレータである ++ が使用されていますが、このオペレータの左辺値にオペランドが指定されていません。

この例では単純な誤りで ++ の左辺値に誤ってドットが指定されています。

対処:
エラー表示されているオペレータの周辺、特に左辺値にオペランドが指定されているかを確認します。


ソース(修正済み):

//浮動小数点数の乱数を生成するサンプルプログラム

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main(void)
{
srand((unsigned int)time( 0 ));
for( int i = 0; i < 10; ++i )
{ printf( "%f\n", (double)rand() / RAND_MAX ); }
return 0; }

スポンサード リンク



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