【C言語】label ‘xxx’ used but not defined

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にジャンプすることができるようになり、エラーが解消されます。

コメント

タイトルとURLをコピーしました