我是C++编程的新手.所以我试着运行一些小程序.我正在使用HP-UX,它有一个编译器,其可执行文件名为aCC.
我正在尝试执行一个小程序
#includeusing namespace std; class myclass { public: int i, j, k; }; int main() { myclass a, b; a.i = 100; a.j = 4; a.k = a.i * a.j; b.k = 12; cout << a.k << " " << b.k; return 0; }
当我编译它时它给了我一个错误:
> aCC temp.cpp Error 697: "temp.cpp", line 2 # Only namespace names are valid here. using namespace std; ^^^
究竟是什么问题?是std
不是aCC编译器中的命名空间或者aCC有一些严重的缺点?
如果我更改
为
,我会收到更多错误,如下所示.
>aCC temp.cpp Error 112: "temp.cpp", line 1 # Include filenot found. #include ^^^^^^^^^^ Error 697: "temp.cpp", line 2 # Only namespace names are valid here. using namespace std; ^^^ Error 172: "temp.cpp", line 14 # Undeclared variable 'cout'. cout << a.k << " " << b.k;
Glen.. 8
您使用的是哪个版本的aCC?旧版本使用预标准的STL实现,将所有内容放在全局命名空间中(即不使用std命名空间)
编译时可能还需要使用-AA选项.这告诉编译器使用较新的2.x版本的HP STL库.
>aCC -AA temp.cpp
它应该永远是
来自语言的预标准实现,但通常是为了保持与旧代码的向后兼容性而发布.
您使用的是哪个版本的aCC?旧版本使用预标准的STL实现,将所有内容放在全局命名空间中(即不使用std命名空间)
编译时可能还需要使用-AA选项.这告诉编译器使用较新的2.x版本的HP STL库.
>aCC -AA temp.cpp
它应该永远是
来自语言的预标准实现,但通常是为了保持与旧代码的向后兼容性而发布.