gpt4 book ai didi

c++ - 在循环中使用自动错误 "auto must have an initializer"

转载 作者:行者123 更新时间:2023-11-28 00:25:43 28 4
gpt4 key购买 nike

我想使用 auto 关键字但在编译时出现此错误 (Visual C++ Express 2010)

typedef std::list<int> MyList;

int main()
{
const int args[] = {0, 1, 2};
MyList myList(std::begin(args), std::end(args));

for(auto& value : myList)
{
std::cout << value << std::endl;
}
}

输出:

error C2143: syntax error : missing ',' before ':'
error C2530: 'value' : references must be initialized
error C3531: 'value': a symbol whose type contains 'auto' must have an initializer

最佳答案

VS2010 中的 C++ 编译器确实支持基于范围的 for 循环,但使用 a pre-standard syntax .(说真的,你不能指望一个比标准早 2 年完成的编译器完全符合标准)

for each (int& value in myList) 
{
std::cout << value << std::endl;
}

关于c++ - 在循环中使用自动错误 "auto must have an initializer",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25234768/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com