我有这样的代码:
struct Foo {
unsigned attr : 7;
std::pair<char *, unsigned> f() {
char *ch = nullptr;
return std::make_pair(ch, static_cast<unsigned>(attr));
}
};
MSVS2013 给我这样的错误:
无法将 'unsigned int' 转换为 'unsigned int&'
而 gcc 4.8 和 clang 3.3 编译这样的代码没有错误。
这是 MSVS 编译器错误吗?如果是这样,我应该在哪里报告?