Tôi đang học cuốn sách “Cấu trúc dữ liệu và thuật toán trong C++” của Adam Drozdek, tôi đã gõ mã ở trang 15 trong vim của tôi và biên dịch nó trong terminal của Ubuntu 11.10.‘cout’ không có tên là
#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;
Nhưng có một số lỗi:
[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
Tôi đã tìm kiếm this, this, this và this, nhưng tôi không thể tìm thấy câu trả lời.
Bất kỳ trợ giúp nào sẽ được đánh giá cao :)
Trường hợp 'main() 'ở đâu? – Makoto
Bạn đang thiếu chính. Mã nằm ngoài một hàm và được trình biên dịch xem là khai báo biến, lớp, cấu trúc hoặc các lệnh khác. Chỉ cần đặt tất cả các mã dưới vào int main() –