Форум программистов, компьютерный форум CyberForum.ru

В классах - отсутствует спецификатор типа - предполагается int - C++

Восстановить пароль Регистрация
 
Юрий Ч
5 / 5 / 0
Регистрация: 16.05.2012
Сообщений: 149
21.02.2014, 10:03     В классах - отсутствует спецификатор типа - предполагается int #1
Добрый день! Помогите, люди добрыеее!!!

Есть несколько классов. Вот они:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
// Z:\programming\classes_cpp\interfaces\Ilib.h
 
#ifndef __ILIB_H
#define __ILIB_H
 
 
#include "Z:\programming\classes_cpp\interfaces\Iregister.h"
 
 
/**
*
*/
class Ilib
{
 
    public:
 
        virtual ~Ilib() {};
 
        virtual void* perform(Iregister* pRegister = 0, void* pArrIn = 0) = 0;
 
};
 
 
#endif // __ILIB_H

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
// Z:\programming\classes_cpp\interfaces\Iregister.h
 
#ifndef __IREGISTER_H
#define __IREGISTER_H
 
 
#include "Z:\programming\classes_cpp\interfaces\Ilib.h"
 
 
/**
*
*/
class Iregister
{
 
    public:
 
        virtual ~Iregister() {};
 
        virtual Ilib* getObject(const char* pKey) = 0;                         // Ошибка тут!!!
        virtual int setObject(const char* pKey, Ilib* pObj) = 0;
        virtual int clearObjects() = 0;
 
};
 
 
#endif // __IREGISTER_H

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
// Z:\programming\classes_cpp\interfaces\lib_TgetRandomName.h
 
#ifndef __LIB_TGETRANDOMNAME_H
#define __LIB_TGETRANDOMNAME_H
 
 
#include "Z:\programming\classes_cpp\interfaces\Ilib.h"
 
 
/**
*
*/
class lib_TgetRandomName : public Ilib
{
 
    public:
            
        lib_TgetRandomName();
        ~lib_TgetRandomName();
 
        void* perform(Iregister* pRegister = 0, void* pArrIn = 0);
 
    private:
 
};
 
 
#endif // __LIB_TGETRANDOMNAME_H


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
// Z:\programming\classes_cpp\interfaces\lib_TgetRandomName.cpp
 
#include "Z:\programming\classes_cpp\library\lib_TgetRandomName\lib_TgetRandomName.h"
 
 
/**
*
*/
lib_TgetRandomName::lib_TgetRandomName()
{
}
 
 
/**
*
*/
lib_TgetRandomName::~lib_TgetRandomName()
{
}
 
 
/**
*
*/
void* lib_TgetRandomName::perform(Iregister* pRegister, void* pArrIn)
{
 
    return 0;
 
}
При компиляции возникает ошибка: error C4430: отсутствует спецификатор типа - предполагается int (см. выше в коде). Не подскажите как устранить?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.02.2014, 10:03     В классах - отсутствует спецификатор типа - предполагается int
Посмотрите здесь:

C++ error C4430: отсутствует спецификатор типа - предполагается int
error C4430: отсутствует спецификатор типа - предполагается int. C++
Отсутствует спецификатор типа - предполагается int C++
Ошибка в программе: отсутствует спецификатор типа C++
Одномерный массив (отсутствует спецификатор типа - предполагается int) C++
C++ Error C4430: отсутствует спецификатор типа - предполагается int
C++ Ошибка 4430: Отсутствует спецификатор типа
Ошибка C4430: отсутствует спецификатор типа - предполагается int C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
anmartex
...
 Аватар для anmartex
1700 / 1193 / 494
Регистрация: 12.02.2013
Сообщений: 1,978
21.02.2014, 16:44     В классах - отсутствует спецификатор типа - предполагается int #2

Не по теме:

Зачем вы пишите полный путь до заголовочных файлов?



Попробуйте так (Ilib.h):
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#ifndef __ILIB_H
#define __ILIB_H
 
#include "Iregister.h"
 
class Iregister;
 
class Ilib {
    public:
        virtual ~Ilib() {};
        virtual void* perform(Iregister* pRegister = 0, void* pArrIn = 0) = 0;
};
 
#endif // __ILIB_H
ValeryS
Модератор
6377 / 4843 / 442
Регистрация: 14.02.2011
Сообщений: 16,048
21.02.2014, 16:53     В классах - отсутствует спецификатор типа - предполагается int #3
опиши класс до начала использования
при компиляции Iregister компилятор не знает что существует еще и Ilib
C++
1
2
3
4
5
6
class Ilib;
class Iregister
{
  public:
   virtual ~Iregister() {};
    virtual Ilib* getObject(const char* pKey) = 0;
Добавлено через 1 минуту
о anmartex, уже ответил
Yandex
Объявления
21.02.2014, 16:53     В классах - отсутствует спецификатор типа - предполагается int
Ответ Создать тему
Опции темы

Текущее время: 15:36. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru