今日はプログラミングで冒険を始め、いくつかの問題に直面しました。C言語エラー
それを解決する方法任意のアイデア:cs50.ioと呼ばれるウェブサイト上でC言語で
#include <stdio.h>
main(void)
{
printf ("hello, world\n");
}
をwiritngし、その後、私はエラー以下の持って打ち鳴らすのhello.cでの書き込み中に?
今日はプログラミングで冒険を始め、いくつかの問題に直面しました。C言語エラー
それを解決する方法任意のアイデア:cs50.ioと呼ばれるウェブサイト上でC言語で
#include <stdio.h>
main(void)
{
printf ("hello, world\n");
}
をwiritngし、その後、私はエラー以下の持って打ち鳴らすのhello.cでの書き込み中に?
まず、StackOverflowにあなたの回答が掲載されています。エラーメッセージを読んで、自分の検索で何が意味するものなのかを理解してください。
undefined reference to 'main'
エラーがここで説明されている: Undefined reference to main - collect2: ld returned 1 exit status
本質的には、C言語では、ボイドはmain()
関数の有効なリターン(すなわちvoid main(void)
)ではありません。私が考えるgcc
コンパイラでは、clang
に似ています。main()
に指定がない場合、戻り値はデフォルトでint
になります。したがって、返品が必要な場合は戻り値なしのmain()
関数があります。 Cのmain()関数の有効な署名の詳細については、この他のStackOverflowのQ & Aを読む:私はclang
コンパイラに慣れていないよ
What are the valid signatures for C's main() function?
、以来、これらのエラー以外にも起こって何か他のものがあるかもしれません。
フラグを使用してコンパイルして、コード内にある可能性のあるエラーや警告を考慮してコンパイルすることができます。
-Werrorは、すべての警告をエラーとしてカウントする優れたフラグです。あなたは、あなただけ印刷していない何かを返すされているので、あなたが提供したコードで無効メイン(無効)
を持っている必要があり、この場合、打ち鳴らす-Werrorのhello.c
として再コンパイルします上記のように、関数が何を返すのかを常に考慮する必要があります。
乾杯。
エラーとして画像として報告することはできません。質問にテキストとして貼り付けます。 – BackSlash
まず、 'int main(void)'を試してください –
あなたの問題(Clangのインストールに間違いがあると思われます)とは関係ありませんが、 'main'関数は' int'を返すよう明示的に宣言する必要があります。最後に 'return'ステートメントは必要ありませんが、' main'の宣言は本当に正しいはずです( 'int main(void)')。 –