This question already has an answer here:
Definitive List of Common Reasons for Segmentation Faults
(1个答案)
3年前关闭。
我创建了两个如下所述的文件
csvreport.h
table.cpp
它显示分段错误(代码已转储)
任何人都可以解决的吗?
或者,如果需要指针,请先分配它:
或通过现代C ++ 11方式使用唯一指针:
(1个答案)
3年前关闭。
我创建了两个如下所述的文件
csvreport.h
int flag = 0; //declared && defined
table.cpp
csvreport* csvreports;
csvreports->flag = 1;
它显示分段错误(代码已转储)
任何人都可以解决的吗?
最佳答案
csvreport* csvreports;
创建未初始化的指针。尝试使用未初始化的指针会导致未定义的行为。
在堆栈上创建此变量,不使用指针:
csvreport csvreports;
或者,如果需要指针,请先分配它:
csvreport* csvreports = new csvreport;
csvreports->flag = 1;
或通过现代C ++ 11方式使用唯一指针:
auto csvreports = std::make_unique<csvreport>();
csvreports->flag = 1;
09-07 06:15