如何将矢量转换为函数

时间:2014-01-17 14:27:00

标签: c++ vector parameters variable-assignment

我有以下代码:

void func(char *vChar);

int main(void){
    std::vector<char*> vChar;
    vChar.push_back("Bla Bla Bla");

    func(vChar);
    return 0;
}

void func(char *vChar){
    std::cout << vChar->size;
}

我不知道,它说我无法将矢量转换为char *。那我问,vChar是什么类型的?它与int tab []中的char *相同(我的意思是tab是int *)?

1 个答案:

答案 0 :(得分:2)

如果你想传递一个向量,给你的函数一个参数,它是一个向量或对向量的引用:

void func(const vector<const char*>& vChar); // const ref if you won't modify it

请注意,不应将字符串文字绑定到非const引用(这在C ++ 11中已弃用),因此如果需要,请将向量设为vector<const char*>vector<string>它拥有数据。