"C2036: '<名前>': サイズが不明です" に関する原因と対処

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

スポンサード リンク

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

コンパイルエラーメッセージ:
サイズの情報が必要な操作が実行されましたがサイズが不明です。

本例では ++ の演算が実行されましたが、サイズが不明なため演算が実行できません。

ソース(バグ有り):

struct sampleStruct;
sampleStruct *psampleStruct;
int main()
{
(psampleStruct)++; }


原因:
サイズを指定します。

本例ではsampleStructとchar 型のサイズが同じと想定して、char のサイズだけ ++ を実行しています。

対処:


ソース(修正済み):

struct sampleStruct;
sampleStruct *psampleStruct;
int main()
{
((char*&)psampleStruct)++; //sampleStruct と char 型のサイズが同じ場合 }

スポンサード リンク



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