"error C2094: ラベル 'p1' は定義されていません" に関する原因と対処

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

スポンサード リンク

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

コンパイルエラーメッセージ:
error C2094: ラベル 'p1' は定義されていません。

ソース(バグ有り):

// _asm のサンプルコード
// 文字列へのポインターをコピーする
#include <stdio.h>

int main()
{
	 char *p0="テスト用文字列";
	 char *p2;

	 _asm
{ mov esi,p1 mov p2,esi } printf("%s\n",p2); return 0; }


原因:
定義されていない変数が使用されました。

この例では p1 という変数が「char *p1="テスト用文字列";」で使用されていますが、宣言されていません。

間違って p0 で定義されています。

対処:
使用する変数が正しく定義されているか確認

この例では p1 が正しく定義されていることを確認します。


ソース(修正済み):

// _asm のサンプルコード
// 文字列へのポインターをコピーする
#include <stdio.h>

int main()
{
	 char *p1="テスト用文字列";
	 char *p2;

	 _asm
{ mov esi,p1 mov p2,esi } printf("%s\n",p2); return 0; }

スポンサード リンク



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