0

在下面的代码中,我有一个构造函数,它requests使用函数初始化初始化列表中的向量,该split_string函数是一个工作函数。我在构造函数主体中使用向量,但是如果我尝试使用command lines 构造请求类,它会引发分段错误。

为什么这会给我一个错误?怎么了?

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;
    }
}
4

1 回答 1

2

中没有return声明split_string()。因此,request::requests没有被正确的vector<char*>.

于 2013-10-22T23:46:10.410 回答