我有一个类型为
的多个参数string m_strVar1 = "var1";
string m_strVar2 = "var2";
string m_strVar3 = "var3";
// i have like above like 10 variables.
for(int i = 1; i < 10 ; i++) {
string strArg = "m_strArg";
std::stringstream lStream;
lStream << argCnt;
strArg.append(lStream.str());
cout << "first argument is " << strArg.c_str() << endl;
// call the function
func1(strArg.c_str());
}
///////////////
void func1(string& arg1) {
// here i am expecting to access m_strVar1/2 value, depending on argument but value is not shown.
}
我想我做错了什么。请你纠正我。我们怎样才能实现调用函数而不使用不同的值调用10次。
答案 0 :(得分:1)
如果我正确理解您的代码,您就会将变量的名称作为字符串传递,或类似的东西。
而是使用字符串数组,例如
string m_strVar[3] = { "var1", "var2", "var3" };
for (int i = 0; i < 3; i++)
funct(m_strVar[i]);