问下gcc查指针初始化的有关问题
问下gcc查指针初始化的问题
下面这段代码指针没有初始化但是在gcc下面运行通过了,是用的CodeBlock里的gcc编译器,在VS2010里面是报错的。一般来说都应该报错吧,麻烦大家在你们的环境下运行看看是什么情况。
------解决方案--------------------
codeblocks,g++版本为4.6.2,会有警告
------解决方案--------------------
这个和你使用的编译器版本 命令行有关
我觉得会有个警告
vc2010应该也是警告而不是错误
除非用把警告识别为错误的编译开关
类似的,gcc使用-Wall -Werror才会报错
------解决方案--------------------
int main()
{
char str[30];
char* ps;
cin >> ps;
cout << ps;
return 0;
}
ps没有分配过内存,怎么可以cin呢。
下面这段代码指针没有初始化但是在gcc下面运行通过了,是用的CodeBlock里的gcc编译器,在VS2010里面是报错的。一般来说都应该报错吧,麻烦大家在你们的环境下运行看看是什么情况。
- C/C++ code
#include <iostream> #include <cstring> #include <cstdio> using namespace std; int main() { char str[30]; char* ps; cin >> ps; cout << ps; return 0; }
------解决方案--------------------
codeblocks,g++版本为4.6.2,会有警告
------解决方案--------------------
这个和你使用的编译器版本 命令行有关
我觉得会有个警告
vc2010应该也是警告而不是错误
除非用把警告识别为错误的编译开关
类似的,gcc使用-Wall -Werror才会报错
------解决方案--------------------
int main()
{
char str[30];
char* ps;
cin >> ps;
cout << ps;
return 0;
}
ps没有分配过内存,怎么可以cin呢。