问题描述
运行可执行程序后报错:段错误
原因
"段错误"通常是由于程序试图访问它不应该访问的内存区域引起的,例如解引用空指针,访问超出数组边界的内存,或者试图修改只读内存。
我的代码出错是因为,字符指针没有初始化:
struct BrokerInfo{
char *TradeFront;
char *MarketFront;
char *BrokerID;
char *UserID;
char *Password;
char *AuthCode;
char *AppID;
};
解决办法
将字符指针替换为 std::string。std::string 会自动管理内存,所以不需要担心初始化或释放内存。
struct BrokerInfo{
std::string TradeFront;
std::string MarketFront;
std::string BrokerID;
std::string UserID;
std::string Password;
std::string AuthCode;
std::string AppID;
};