在下面的代碼中,我有一個構造函數,它使用split_string
函數初始化requests
向量,該函數是一個工作函數。 我在構造函數體中使用了這個向量,但是如果我試圖用command line
構造一個請求類,它會引發一個分段錯誤。在構造函數體中使用初始化列表中的字段
爲什麼這給我一個錯誤?哪裏不對?
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;
}
}
'split_string()'是如何實現的? – timrau
返回語句('return vec_str;')對該函數有奇效*。嘗試添加一個。 – WhozCraig
Line []的典型輸入是「GET Google.html HTTP/1.0」 – user2418202