私はAdam Drozdekの著書「C++でのデータ構造とアルゴリズム」を学んでいましたが、私はvimの15ページにコードを入力し、私のUbuntu 11.10のターミナルでコンパイルしました。'cout'は型名を指定していません
#include <iostream>
#include <cstring>
using namespace std;
struct Node{
char *name;
int age;
Node(char *n = "", int a = 0){
name = new char[strlen(n) + 1];
strcpy(name, n);
age = a;
}
};
Node node1("Roger", 20), node2(node1);
cout << node1.name << ' ' << node1.age << ' ' << node2.name << ' ' << node2.age;
strcpy(node2.name, "Wendy");
node2.name = 30;
cout << node1.name << ' ' << node1.age << ' ' << node2.name << ' ' << node2.age;
しかし、いくつかのエラーがあります:
[email protected]:~$ g++ unproper.cpp -o unproper
unproper.cpp:15:23: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
unproper.cpp:16:1: error: ‘cout’ does not name a type
unproper.cpp:17:7: error: expected constructor, destructor, or type conversion before ‘(’ token
unproper.cpp:18:1: error: ‘node2’ does not name a type
unproper.cpp:19:1: error: ‘cout’ does not name a type
私はthis、this、thisとthisを検索しましたが、私は答えを見つけることができません。
任意の助けいただければ幸い:)
'main()'はどこですか? – Makoto
あなたのメインが不足しています。コードは関数の外にあり、変数、クラス、構造体または他のそのようなコマンドの宣言であるとコンパイラによって考慮されます。一番下のコードをすべてint main()に入れてください。 –