1

我有这样的代码:

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 编译器错误吗?如果是这样,我应该在哪里报告?

4

1 回答 1

2

在 VS2010 中编译和工作得很好。一定是个bug。向 Microsoft Connect 报告:https ://connect.microsoft.com/VisualStudio

于 2013-08-19T06:28:15.580 回答