Консультация № 144410
19.09.2008, 18:00
0.00 руб.
0 6 5
Здравствуйте, уважаемые эксперты. У меня не компилируется код в VS.net 2003. В то время как в С++6,0 все нормально. Я думал, что проблема в заголовочном файле, но iostream, iostream.h
не решают проблемы. При компиляции VS2003 не знает оператор cout, как это можно решить?



Приложение:
#include <iostream>
#include <stdafx.h>

int _tmain(int argc, _TCHAR* argv[])
{
cout << "hello word";
}

Обсуждение

Неизвестный
19.09.2008, 18:07
общий
это ответ
Здравствуйте, Горбунов Алексей Николаевич!

Начиная с 2003 студии, классы библиотеки stl помещены в namespace std.
Надо делать так, как в приложении или после инклюдов вписать следующую строчку:
using namespace std;

Приложение:
#include <iostream>
#include <stdafx.h>

int _tmain(int argc, _TCHAR* argv[])
{
std::cout << "hello word";
}
Неизвестный
19.09.2008, 18:09
общий
это ответ
Здравствуйте, Горбунов Алексей Николаевич!
Дело в том, что "новый" cout и еще много что объявлены в пространстве имен std. Соответственно, надо или использовать пространство имен
using namespace std;
или добавлять имя пространства имен
std::cout

Неизвестный
19.09.2008, 18:09
общий
это ответ
Здравствуйте, Горбунов Алексей Николаевич!

вам нужно указать namespace. и "stdafx.h" указывается в самом начале. Код для VS2005

#include "stdafx.h"
#include <iostream>

using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
cout << "hello word";
}




Приложение:
//либо явно указать namespace:

#include "stdafx.h"
#include <iostream>

using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
std:cout << "hello word";
}
Неизвестный
19.09.2008, 18:11
общий
Или же вместо cout пользоваться printf();
Неизвестный
19.09.2008, 18:12
общий
это ответ
Здравствуйте, Горбунов Алексей Николаевич!

эти операторы помещены в namespace std
т.е. вам нужно в начале файла писать:
using namespace std;
в этом случае Ваш код можно оставить без изменений

или разрешать область видимости явно:
std::cout << "hello word";
Неизвестный
19.09.2008, 20:05
общий
это ответ
Здравствуйте, Горбунов Алексей Николаевич!
Надо объявить пространство имен, к которому принадлежит оператор "cout".
Делается так:
using namespace std;



Приложение:
#include<iostream>
using namespace std;

int main(int argc, char* argv[])
{
cout<<"hello world";
return 0;
}
Форма ответа