有人可以告诉我为什么第一个程序崩溃,但第二个不是? 第一个(崩溃):调试为什么size_t不能用作数据成员?
#include <cstdlib>
class test
{
public:
test(const char *cstr)
{
size_t j=0;
while(cstr[n++])
;
//n = j;
}
private:
size_t n;
};
int main()
{
test("Hello, world!\n");
return 0;
}
第二个不崩溃(使用局部变量构造函数,而不是数据成员数):
#include <cstdlib>
class test
{
public:
test(const char *cstr)
{
size_t j=0;
while(cstr[j++])
;
n = j;
}
private:
size_t n;
};
int main()
{
test("Hello, world!\n");
return 0;
}
在Windows上运行的MinGW。 化妆:* [运行]错误-1073741819