我有这样的代码:
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&amp;'
虽然gcc 4.8和clang 3.3编译这样的代码没有错误。
这是MSVS编译器的错误吗?如果是的话,我应该在哪里举报?
答案 0 :(得分:2)
在VS2010中编译并正常工作。一定是个bug。将其报告给Microsoft Connect:https://connect.microsoft.com/VisualStudio