2015-07-03 70 views
1

我该怎么做:传递矢量字符和字符串向量函数

void writeFiledata(vector<char> tttstatus, vector<string> iflines) 
{ 

} 

int main() 
{ 
writeFiledata(vector<char> tttstatus, vector<string> iflines); 
return 0; 
} 

我可以通过两个整数的功能,我可以通过一个3D矢量的功能,但我不能通两个一维向量?

+1

考虑适当类型的变量,有没有差异发生的一个int与一个矢量与两个载体。无论出于何种原因,您的参数表达式中都有类型(如声明语法)。 – chris

回答

2

您可以传递您的变量或传递引用。虽然以变量形式传递,但是函数将在函数和影响内部创建变量的本地副本,但函数调用之后可能不会反映调用函数(在您的情况下为main),因为您没有在函数writeFiledata函数中返回任何内容。所以在下面的更正的代码中,我选择了将变量作为参考的选项。

void writeFiledata(vector<char> & tttstatus, vector<string>& iflines) 
{ 

} 

int main() 
{ 
vector<char> tttstatus; 
vector<string> iflines; 
//fill vectors using std::vector::push_Back 

writeFiledata(tttstatus, iflines); 
return 0; 

}

+0

ohh duh oops谢谢,现在是时候让我去睡觉 – Austin

+0

'const vector &''const vector 如果你不打算修改数据,iflines就更典型了。 –