我有以下代码:
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;
}
我不知道,它说我无法将vector转换为char *。请问,vChar是什么类型?是否与int tab []中的char *相同(我的意思是制表符为int *)?
如果要传递向量,请为函数提供一个参数,该参数可以是向量,也可以是对向量的引用:
void func(const vector<const char*>& vChar); // const ref if you won't modify it
请注意,字符串文字不应该绑定到非const引用(出于充分的理由在C ++ 11中已弃用),因此请将vector设为a vector<const char*>
,或者vector<string>
如果您希望其拥有数据。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句