在下面的代码中,我有一个构造函数,它使用requests
函数在初始化列表中初始化split_string
向量,这是一个工作函数。
我在构造函数体中使用向量,但如果我尝试使用command line
s构造请求类,则会引发分段错误。
为什么这会给我一个错误?有什么问题?
class request {
vector<char*> requests;
public:
explicit request(char line[]): requests(split_string(line)) {
cout << "THIS LINE DOES NOT PRINT" << requests[1] << endl;
}
这是split_string
代码:
vector<char*> split_string(char line[]) {
vector<char*> vec_str;
char* token;
token = strtok(line, " ");
while (token != NULL) {
vec_str.push_back(token);
token = strtok(NULL, " ");
}
for(int i = 0; i < vec_str.size(); ++i) {
std::cout << vec_str.at(i) << std::endl;
}
}
答案 0 :(得分:2)
return
中没有split_string()
声明。因此,request::requests
未通过正确的vector<char*>
初始化。