首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

[有关问题]C++调试通不过

2012-02-01 
[问题]C++调试通不过String::String( const char *s){length(((strlen(s)!0)?( strlen( s )+1) : 2))co

[问题]C++调试通不过
String::String( const char *s) 
{
  length=(((strlen(s)!=0)?( strlen( s )+1) : 2));
  cout << "Conversion (and default) constructor: " << s << endl;
  setString( s ); 
}

单步调试时 到这个构造函数就通不过了 提示 Access Violation.
并且strlen(s)的Value显示:variable needs stack frame.

[解决办法]
1)传递的S是一个无效的指针。
2)这个函数本身有问题,length=(((strlen(s)!=0)?( strlen( s )+1) : 2)); 
(strlen(s)!=0)会等于0吗?
还有就是为什么是2,而不是1

热点排行