eri*_*ork 2 c++ gcc namespaces std
我想在我的Mac上编写非常简单的C++程序,但是我遇到了错误.我没有很多C++(和gcc)的经验,网上的简单指南也没有讨论这个主题.
请看看我简单的hello world程序:
erik2:~[03:38 pm]$ cat hw.cpp
#include <iostream>
int main ()
{
cout<<"Hello World!";
return 0;
}
erik2:~[03:38 pm]$ gcc hw.cpp
hw.cpp: In function ‘int main()’:
hw.cpp:5: error: ‘cout’ was not declared in this scope
Run Code Online (Sandbox Code Playgroud)
到目前为止回答答案(非常感谢),我放回了(!)命名空间声明,但这不会导致成功,但是:
erik2:~[03:51 pm]$ cat hw.cpp
using namespace std;
#include <iostream>
int main ()
{
cout<<"Hello World!";
return 0;
}
erik2:~[03:51 pm]$ gcc hw.cpp
Undefined symbols:
"___gxx_personality_v0", referenced from:
___gxx_personality_v0$non_lazy_ptr in ccphDFtO.o
"std::ios_base::Init::~Init()", referenced from:
___tcf_0 in ccphDFtO.o
"std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)", referenced from:
_main in ccphDFtO.o
"std::ios_base::Init::Init()", referenced from:
__static_initialization_and_destruction_0(int, int)in ccphDFtO.o
"std::cout", referenced from:
__ZSt4cout$non_lazy_ptr in ccphDFtO.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
Run Code Online (Sandbox Code Playgroud)
你需要添加
using namespace std;
Run Code Online (Sandbox Code Playgroud)
或限定您使用该命名空间中的符号,如
std::cout << "Hello, world!";
Run Code Online (Sandbox Code Playgroud)
所以使符号可见(并且您还想添加换行符....).
| 归档时间: |
|
| 查看次数: |
5267 次 |
| 最近记录: |