Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
979 / 196 / 33
Регистрация: 26.09.2012
Сообщений: 2,039
1

Не компилируется программа

01.04.2013, 03:56. Просмотров 885. Ответов 2
Метки нет (Все метки)

Здорова!
Не компилируется программа:
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
31
32
#include <iostream>
using std::cout;
using std::endl;
 
class class1 //базовый класс для class1 и class2
{
public:
    virtual void f( class1 a, class1 b){}
};
 
class class2 : public class1
{
public:
    virtual void f(class2 a, class2 b){}
    virtual void f(class2 a, class3 b){}
};
 
class class3 : public class1
{
public:
    virtual void f(class3 a, class3 b){}
    virtual void f(class3 a, class2 b){}
};
 
 
 
int main()
{
    
    
    return 0;
}
Выдает ошибку:
test5.cpp:15:27: ошибка: «class3» не был декларирован
Я добавил строчку перед class class2 : public class1
class class3;
Опять пытаюсь скомпилировать и снова ошибка:
test5.cpp: В функции-члене «virtual void class2::f(class2, class3)»:
test5.cpp:15:15: ошибка: «b» has incomplete type
test5.cpp:10:7: ошибка: forward declaration of «struct class3»


Кода я добавляю перед класс два определение класса class3, то выдает туже ошибку типо нужно определить заранее класс class2 уже.
Как же быть?
Это ж вроде и есть двойная диспетчеризация? Токо она никак не компилируется.

Пробовал и разделно скомпилировать ничего тоже не получается. Те же самые ошибки.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.04.2013, 03:56
Ответы с готовыми решениями:

Программа компилируется в Borland 6.0 но не компилируется в Visual Studio 2008
Ета програма компилируетса в борланде 6.0 но не компилируетса в Visualstudio 2008 и в борланде 10-м...

Первая программа. Код не компилируется и не запускается программа.
Первая программа, первая ошибка Здравствуйте! Решил учить С++. Скачал книгу Programming:...

Не компилируется программа
// Students.cpp: определяет точку входа для консольного приложения. // #include &lt;stdlib.h&gt; // Для...

Не компилируется программа
Скпомпилируйте, у меня одной оно не так как надо работает??? # include &lt;iostream&gt; # include...

2
Грамотный. Безпорно.
16791 / 9688 / 1869
Регистрация: 27.09.2012
Сообщений: 24,051
Записей в блоге: 2
01.04.2013, 03:59 2
А так?
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
31
32
33
#include <iostream>
using std::cout;
using std::endl;
 
class class3;
class class1 //базовый класс для class1 и class2
{
public:
    virtual void f( class1 b){}
};
 
class class2 : public class1
{
public:
    virtual void f(class2 a, class2 b){}
    virtual void f(class2 a, class3 *b){}
};
 
class class3 : public class1
{
public:
    virtual void f(class3 a, class3 b){}
    virtual void f(class3 a, class2 b){}
};
 
 
 
int main()
{
    
    
    return 0;
}
1
979 / 196 / 33
Регистрация: 26.09.2012
Сообщений: 2,039
01.04.2013, 04:05  [ТС] 3
так да.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.04.2013, 04:05

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Не компилируется программа
------ Построение начато: проект: Rapid Roll, Конфигурация: Debug Win32 ------ Компиляция......

Программа не компилируется
Установил Borland С+++ 5,5 в папку C:\BCC, в папке bin как положено создал bcc32.cfg и link32.cfg...

Программа не компилируется
На копе в универе писала программу, принесла домой доделать, но она не хочет компилироваться. VS...

Не компилируется программа
#include &quot;StdAfx.h&quot; #include &quot;Line.h&quot; Line::Line(Point* start, Point* end) { this-&gt;Start =...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.