使用向量和字符串函数返回字符串?

时间:2019-06-19 00:59:48

标签: c++

我想做一个简单的函数,将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中对其进行编码时,我得到了一个错误:

  

“找不到类来解析委托字符串”

1 个答案:

答案 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

继续编码!