C++を勉強して見ようと思いたって、hello worldを書いてのっけからエラーで動かなかったので記録しておきます。環境はubuntu16.04です。
//hello.cpp #include <iostream> int main() { std::cout << "hello world\n \t初めてのC++" << std::endl; }
これで動きました。コンパイラーはg++で5.4.0。gppというのもあるらしいが使っていません。はじめコピペでダメだったので打ち込みました。後ろの方のendlにもstd::をつけないと動かなかった。
error: ‘endl’ was not declared in this scope
比較的最近名前空間の仕組みが入れられたらしくて、ネットのサンプルの表記に揺れがあります。
//hello02.cpp #include <iostream> using namespace std; int main() { cout << "hello world\n \t初めてのC++" << endl; }
という書き方の方が主流になる気がする。
感想 #include
追記:
error: stray ‘\342’ in program const char BEEP = ’\a’; ^
というようなエラーは空白文字とか、asciiでない引用符とかが使われていると出ます。
テキストからコピペするとこのエラーでコンパイルできないのと、目で見つけるのがこんなんなのと、エラーの示している文字とエラーの発生している場所が違うことからけっこう苦労すると思う。苦労した。
全角空白文字はフォントを変えているので見つけやすくなったけど、クオーテーションマークは見た目では違いがわからない。
あと、アンダーバーunderbarというのかな、変数につかうやつ。もコピペではうまくいかないことがある。うまくペーストされずに空白になっていたりします。