Форум программистов, компьютерный форум, киберфорум
Наши страницы

Предобьявление класса - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ наследование http://www.cyberforum.ru/cpp-beginners/thread351442.html
помогите пожалуйсто дописать класс многоугольников , и рисовать на монитор с помощью mfc , заранее благодарен... class figure{ public: virtual ~figure(){} virtual void Draw(TCanvas...
C++ vpn Добрый день. Нужно написать программу на с++, которая работает, как Hamachi, которая имитирует соединение разных компьютеров в одну виртуальную (псевдолокальную) сеть для совместной игры. Подскажите,... http://www.cyberforum.ru/cpp-beginners/thread351433.html
C++ Перевод из Unicode в ANSI
Привет! При переводе из Unicode в ANSI юзаю вот эти две функции: CharToOemW и OemToCharA. Первая переводит из Unicide в Oem, а вторая - из Oem в ANSI. И сразу возникает вопрос, есть ли функция...
C++ EnableMenuItem
Доброе время суток. Проблема проста: не получается переключать enable true/false в стандартном win32 api c++ Что делаю: menu = LoadMenu (hInstance, MAKEINTRESOURCE(IDR_MENU1));...
C++ Задача по одномерному массиву... http://www.cyberforum.ru/cpp-beginners/thread351411.html
Помогите, пожалуйста, решить задачку по работе с одномерными массивами на С. Только индек- сацию вида A или *(A+i) использовать нельзя. Можно только продвижение указателей через операторы сложения...
C++ Удалить комментарии из строки Привет. Вообщем такая задача: Прочитать из файла строку символов. Удалить из этой строки комментарии вида "/* ... */" (вложенные комментарии тоже удалить) . Новую строку не создавать. Вывести... подробнее

Показать сообщение отдельно
Сыроежка
Заблокирован
14.09.2011, 19:46
Цитата Сообщение от TonyTaponi Посмотреть сообщение
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
34
35
#ifndef MTGRAPH_H
#define MTGRAPH_H
 
class Point;
 
class MTGraph
{
 private :
     
   Point StartPoint;
   Point FinishPoint;
};
 
/****************************************************************
*
****************************************************************/
 
class Point
{
  public :
    
   int x;
   int y;
   
   Point(int x, int y)
   {
     this->x = x; this->y = y;
   }
   
   Point()
   { x = 0; y = 0; }
   
};
 
#endif // MTGRAPH_H
Здравствуйте, у меня следующая проблема: в программе происходит предварительно объявление класса Point, затем в другом классе объявляются две переменные этого типа. Компилятор выдает на них ошибку: field has incomplete type. Если перенести описание класса в начало, то все работает. Нужно что-то дополнительно предобьявить?
Сообщение об ошибке говорит само за себя, что нельзя определять объекты неполного типа. Что это означает? Это означает, что компилятор должен знать размер этих объектов. Когда вы сделали предварительное объявление имени класса, размер этого класса не известен, а потому компилятор не может использовать объекты этого класса в определении другого класса, так как он не сможет подсчитать размер этого нового класса. То есть возникает вопрос относительно вашего определения: каков будет размер класса MTGraph?! Как компилятор может определить и сгенерировать соответствующий объектный код для выделения памтяи для класса MTGraph, если он не знает размеры входящих в него полей?!
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru