C言語で「label ‘xxx’ used but not defined」というエラーメッセージが表示された場合、それは使用されているラベルが定義されていないということを意味します。
例えば、次のようなコードでこのエラーが発生する可能性があります。
#include <stdio.h> int main(void) { goto label1; // エラーが発生する行 label2: printf("Hello, world!\n"); return 0; }
この例では、goto文でラベルlabel1
にジャンプするように指定されていますが、そのラベルは定義されていません。このような場合、コンパイラは「label ‘label1’ used but not defined」というエラーメッセージを出力します。
このような場合、使用されているラベルを定義するようにプログラムを修正することで、このエラーは解消されます。
#include <stdio.h> int main(void) { goto label1; // 修正後 label1: printf("Hello, world!\n"); return 0; }
この例では、ラベルlabel1
が定義されるようにプログラムが修正されました。これにより、goto文でラベルlabel1
にジャンプすることができるようになり、エラーが解消されます。
コメント