假设我有一个数组
string test = {"test1, "test2"}
我有我的功能
void testing(string test){
for(int i = 0; i < 2; i++){
if(test[i] == "test1"){
cout << "success" << endl;
}
}
}
但是当我编译它时,我得到一个错误......为什么会这样? 有不同的方法吗?
答案 0 :(得分:2)
您的测试变量应声明为数组类型
string test[] = {"test1", "test2"};
您还需要从
更改功能签名void testing(string test)
到
void testing(string* test){
答案 1 :(得分:0)
由于字符串数组的错误声明,您编写的代码不会编译。 取代
string test = {"test1, "test2"};
与
string test[]={"test1, "test2"};
#include <iostream>
#include <string>
using namespace std;
string test[]={"test1, "test2"};
for(auto& item:test)
{
cout<<item<<endl;
}
#include <iostream>
#include <string>
#include <vector>
using namespace std;
void testing(const vector<string>& strings)
{
for (auto& item : strings)
{
cout << item << endl;
}
}
int _tmain(int argc, _TCHAR* argv[])
{
vector<string> strings = { "str1", "str2", "str3" };
testing(strings);
cin.get();
return 0;
}