【发布时间】:2012-03-22 08:55:10
【问题描述】:
int A(const char* name){
name = "Here you GO!";
char* new_name;
//strcpy(new_name,name);
new_name = const_cast<char *>(name);
printf("%s\n", new_name);
return 0;
}
这是我正在测试的源代码。
一个问题是当我使用const_cast<char *> 时,它说它是未声明的。 (我知道它可以在 'g++' 编译下工作)
另一个问题是当我尝试使用strcpy 将它们组合在一起时,它会弹出分段错误。
前提是我必须使用gcc whatevername.c -std=c99来编译。
有没有人提供一些建议如何解决这个问题。非常感谢..
【问题讨论】:
-
如果你看到
const_cast<char *>在g++, but not undergcc`的C编译器部分下工作,你就有证据表明它是C++而不是C......