На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела *nix / gcc / Eclipse / Qt / wxWidgets / GTK+
  • При создании темы ОБЯЗАТЕЛЬНО указывайте версию тулкита / библиотеки / компилятора.
  • Перед тем как задать вопрос, сформулируйте его правильно, чтобы вас могли понять.
  • Нарушение Правил может повлечь наказание со стороны модераторов.


Полезные ссылки:
user posted image Boost по-русски
user posted image Qt по-русски
Модераторы: archimed7592
  
> Проблема при компиляции , gcc-4.1.2
    Собственно, при компиляции С++ - кода (на gcc-4.1.2) файла scientist.cpp выдается ошибка следующего содержания:

    ExpandedWrap disabled
      scientist.h:1: ошибка: expected class-name before '{' token

    Содержимое:

    scientist.cpp
    ExpandedWrap disabled
      #include <iostream>
      #include "scientist.h"
      #include "employee.h"
       
      void scientist::getdata()
               {
           using namespace std;
               employee emp;
               emp.getdata();
               cout << "Vvedite 4islo publikaciy: "; cin >> pubs;
               }
       
       void scientist::putdata()
               {
           using namespace std;
           employee emp;          
               emp.putdata();
               cout << "\n4islo publikaciy: " << pubs;
               }


    scientist.h
    ExpandedWrap disabled
      class scientist : public employee{
         private:
            int pubs;
         public:
            void getdata();        
            void putdata();
         };



    employee.h
    ExpandedWrap disabled
      class employee                    
         {
         private:
            char name[ 80 ];              
            int years;
         public:
            void getdata();
            void putdata();
          };


    Не бейте меня, я чайнег. :)
      Dello
      а если приинклюдить employee.h перед scientist.h ?
      а вообще, неверный подход
        О, запахало! Спасибо!

        А в чем неверность, если не секрет?
          Dello
          я бы как-нибудь так сделал
          scientist.cpp
          ExpandedWrap disabled
            #include "scientist.h"
            #include <iostream>
             
            void scientist::getdata(){
               employee emp;
               emp.getdata();
               std::cout << "Vvedite 4islo publikaciy: ";
               std::cin >> pubs;
            }
             
            void scientist::putdata(){
               employee emp;            
               emp.putdata();
               std::cout << "\n4islo publikaciy: " << pubs;
            }


          scientist.h
          ExpandedWrap disabled
            #ifndef scientist_h_
            #define scientist_h_
             
            #include "employee.h"
             
            class scientist : public employee{
               private:
                  int pubs;
              
               public:
                  void getdata();        
                  void putdata();
            };
             
            #endif


          employee.h
          ExpandedWrap disabled
            #ifndef employee_h_
            #define employee_h_
             
            class employee{
               private:
                  char name[ 80 ];              
                  int years;
              
               public:
                  void getdata();
                  void putdata();
            };
             
            #endif
          Сообщение отредактировано: artalex -
          0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
          0 пользователей:


          Рейтинг@Mail.ru
          [ Script execution time: 0,0319 ]   [ 16 queries used ]   [ Generated: 2.05.24, 19:40 GMT ]