这种“类型可能无法在for-range-declaration中定义”通知是否错误?

时间:2016-10-03 01:29:55

标签: c++ gcc

请考虑以下事项:

#include <vector>
struct Foo { int a, b; };
int main(int /*argc*/, char* /*argv*/[]) {
    std::vector<struct Foo> foos = { {4,5} };
    for (struct Foo const& foo : foos) {}
    return 0;
}

Clang,ICC和MSVC都是在没有发生意外的情况下编译的。但是,GCC 6.2输出:

  

警告:类型可能未在for-range-declaration

中定义

这在6.1中没有发生,并且它已成为7中的实际错误。但是,在我看来,在第2行定义了struct Foo。这个警告​​/错误是错误的吗?

0 个答案:

没有答案