我想做一个简单的函数,将int作为输入,制作一个由字符串元素填充的向量,然后返回对应于元素索引的字符串。
代码看起来一切都很好,没有红色的波浪线或其他任何东西,但是当我编译时,什么也没发生。
我使用了push_back()
方法来填充向量,所以这不是问题。
#include <iostream>
#include <vector>
#include <string>
races(int a) {
std::vector<std::string> race = { "Human", "Cyborg", "Android", "Aster","Ool-Rog","Criataz" };
return race[a];
};
我已经在浏览器编码站点上运行了它,但没有任何反应,当我在Visual Studio中对其进行编码时,我得到了一个错误:
“找不到类来解析委托字符串”
答案 0 :(得分:3)
根据genpfault和Remy Lebeau的评论,这是一个有效的代码示例:
#include <iostream>
#include <vector>
#include <string>
std::string races(int a) {
std::vector<std::string> race = { "Human", "Cyborg", "Android", "Aster","Ool-Rog","Criataz" };
return race[a]; // or race.at(a);
};
int main () {
std::cout << "Race with index: " << 2 << " is: " << races(2) << std::endl;
return 0;
}
在终端实用程序应用程序中编译和执行示例,并在安装了C ++ 14的MAC OSX上获得结果:
$ /usr/local/bin/c++-9 races.cpp -o races
$ ./races
Race with index: 2 is: Android
继续编码!