为什么"!="运算符不能在C++ VS2012中为我工作

mat*_*eng -2 c++ visual-studio-2010 visual-studio visual-studio-2012

一个简单的例子:

    #include <iostream>
#include <cstring>
int main(void)
{
    using namespace std;
    string a="abc";
    string b="abc";
    if(a!=b)
        cout<<"abc";

}
Run Code Online (Sandbox Code Playgroud)

这段代码可以由mingw G ++编译,但它不能由VS2012和vs2010编译.我不知道为什么.

如何使代码可以由VS2012或vs2010编译

我发现问题是头文件,但为什么它可以在G ++中工作?

Nbr*_*r44 7

试着改变

#include <cstring>

这是旧的,C风格string.h

#include <string>

其中描述了C++ string中驻留在std命名空间中的类.