2013-05-21 2 views
-2

Простой пример «=!»:Почему не оператор работает для меня в C++ VS2012

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

} 

этот код может быть составлен MinGW G ++, но она не может быть составлен VS2012 и VS2010. Я не знаю, почему.

, что я должен сделать, чтобы сделать код может быть составлен VS2012 или VS2010

я обнаружил, что проблема заключается в headfile, но почему она может работать в G ++?

+4

включают первоначальную ошибку, пожалуйста, –

+2

включают '' user93353

ответ

7

Попробуйте изменить

#include <cstring>

, который является старым, с стиле string.h по

#include <string>

Какая информация описывает класс string, который находится в пространстве имен std в C++.

+0

@ Steve314: Кто говорит '' входит в качестве побочного эффекта, включая '' ? –

+0

@Benjamin - Упс - я страдаю от «не правильно прочитал вопрос». Я не понимал, что это ошибка времени компиляции. Очевидно, что если код скомпилирован, идентификатор 'string' был распознан, но этого здесь не происходит, потому что код не компилируется, кроме, может быть, он * * происходит в GCC, и именно поэтому он компилируется с этим. – Steve314

+0

спасибо за вашу помощь! Вы имели в виду, что G ++ не компилирует cstring? –

Смежные вопросы