Variable is not a type name error

2019-08-24 02:24发布

问题:

#include <iostream>
using namespace std; 
int main(int argc, char *argv[])
{                 
    cout << "hello world" << endl;                   
    return 0;
}

The code is as above, very simple example, but I get many errors like:

variable "_CRTIMP_ALTERNATIVE" is not a type name Project2 d:\tools\VC\include\string.h 98

variable "errno_t" is not a type name Project2 d:\tools\VC\include\crtdbg.h 848

and so on...

Image is here: http://postimg.org/image/adhcs4p39/

回答1:

Your image looks like VS2015, but the _CRTIMP_ALTERNATIVE macro and errno_t type are not used or defined in the 2015 headers that I can find. They are in the VS2012 headers (both are in crtdefs.h). This looks like you are compiling against a mix of header files, with some from one compiler version and some from the other.



回答2:

I uninstalled 2012 version. Works like a magic!