Linux за българи: Форуми

Програмиране => Общ форум => Темата е започната от: k0rena в Jul 26, 2005, 13:41



Титла: Проблем с eclipse
Публикувано от: k0rena в Jul 26, 2005, 13:41
Имам проблем с iostream библиотеката, когато я напиша <iostream.h> ми излизат трите warning долу, a когато я напиша <iostream> без h (доколкото разбрах това е проблема) - ми изписва че cin,cout не са дефинирани, тоест няма библиотека за тях.  :angry: Значи в /usr/include/c++/4.0.0/ имам iostream, a в /usr/include/c++/4.0.0/backward има iostream.h, а папките които са включени при компилирането са /usr/include/c++/4.0.0/, /usr/include/c++/4.0.0/i386-redhat-linux, /usr/include/c++/4.0.0/backward, /usr/local/include, /usr/include и /usr/lib/gcc/i386-redhat-linux/4.0.0/include.  ???
Примерен код

1   in inclusion /usr/lib/gcc/i386-redhat-linux/4.0.0/../../../../include/c++/4.0.0/backward/backward_warning.h:32[/usr/lib/gcc/i386-redhat-linux/4.0.0/../../../../include/c++/4.0.0/backward/iostream.h]   

Примерен код

2   #warning This file includes at least one deprecated or antiquated header. Please consider using one of the 32 headers found in section 17.4.1.2 of the C++ standard. Examples include substituting the <X> header for the <X.h> header for C++ includes, or <iostream> instead of the deprecated header <iostream.h>. To disable this warning use -Wno-deprecated.[/usr/lib/gcc/i386-redhat-linux/4.0.0/../../../../include/c++/4.0.0/backward/backward_warning.h]   

Примерен код

3   in inclusion /usr/lib/gcc/i386-redhat-linux/4.0.0/../../../../include/c++/4.0.0/backward/iostream.h:31:   

 ???


Титла: Проблем с eclipse
Публикувано от: Hapkoc в Jul 26, 2005, 17:44
Аз само не разбрах какво общо има eclipse? Докато се опитваш да го build-неш ли ти дава warning-ите, или в eclipse си пишеш на C++ програмите или какво?


Титла: Проблем с eclipse
Публикувано от: в Jul 26, 2005, 18:33
Проблемът не е в eclipse а в учебника който изпилзваш за c++.
По принцип нетябва да се пише .h на края. Писането му е остарял и отречен приом. В новите компилатори не се използва .h за библиотеките като iostream (и най вече тия дето са част от STL). Пише се директно.
А проблемът където тиказва че не е дефиниран тоя метод е заради това че не си заредил namespace-а със using namespace std;

пример:
#include <iostream> //без .h
using namespace std;
int main(int argc, char* argv[])
{
  cout<<"Hello world";
  return 0;
}

или:
#include <iostream> //без .h
int main(int argc, char* argv[])
{
  std::cout<<"Hello world";
  return 0;
}