msvc 15.3.1编译器问题

时间:2017-08-22 06:14:29

标签: visual-c++ visual-c++-2017

我尝试使用MS VC 15.3.1(应用VC 2017升级版3之后)编译一个简单的应用程序时发现了一个奇怪的行为(可能是一个问题):

#include <iostream>
#include <algorithm>
#include <string>

// compiles if commenting out the line below
#include <vector>
#include <list>

class A
{
    std::string s;
    public:
    A(const std::string& str) : s(str)
    {
    }

    A(A&& other)
    {
        // compiles if changing std::swap<std::string>() to std::swap()
        std::swap<std::string>(s, other.s);
    }
};

int main(int argc, char *argv[])
{   
    return 0;
}

编译器发出错误:

1>d:\program files (x86)\microsoft visual studio\2017\enterprise\vc\tools\msvc\14.11.25503\include\vector(2131): 
error C2039: '_Alloc': is not a member of 'std::basic_string<char,std::char_traits<char>,std::allocator<char>>'

此代码编译时VC 15.2,VS2015和VS2013工具集没有任何问题。

0 个答案:

没有答案