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

Using a vector and string function to return a string?

本文关键字:字符串 函数 返回 向量      更新时间:2023-10-16

我想做一个简单的函数,它把一个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中编码时,出现错误:

"找不到解析委托字符串的类">

根据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

继续编码!