MRE:
std::vector<std::string> someFunction() {
auto vec;
return vec;
}
什么阻止“自动”将
vec
的类型推断为std::vector<std::string>
?
将函数的返回类型设置为
vector<string>
并不一定意味着您将在此函数中使用的每个向量都是字符串类型的向量。
如果要使用
auto
关键字声明变量,则必须初始化该变量。示例:auto x = 42; // x is inferred to be an int
所以要解决这个问题,你应该明确指定向量的类型
vec