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

Проблемы с неполной спецификацией типа - C++

Восстановить пароль Регистрация
 
Winterad
3 / 3 / 0
Регистрация: 15.12.2012
Сообщений: 14
10.01.2013, 02:33     Проблемы с неполной спецификацией типа #1
Доброго времени суток! Подскажите пожалуйста, почему не компилируется?
Я же прописал объявление(неполную спецификацию типа) класса T2.

Ошибка: main.cpp(10): error C2027: use of undefined type 'T2'

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
36
#include <iostream>
#include <string>
 
class T2;
 
class T1
{
    public:
 
        void print_t2 (T2 * obj) { std::cout << obj->str << std::endl; };
 
        std::string str;
};
 
class T2
{
    public:
 
        void print_t1 (T1 * obj) { std::cout << obj->str << std::endl; };
 
        std::string str;
};
 
int main()
{
    T1 x1;
    T2 x2;
 
    x1.str = "T1 object";
    x2.str = "T2 object";
 
    x1.print_t2(&x2);
    x2.print_t1(&x1);
 
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.01.2013, 02:33     Проблемы с неполной спецификацией типа
Посмотрите здесь:

C++ Не удаётся создать безымянный объект типа vector моего типа
C++ В массив типа double записываю целые числа (типа int), но ошибка не вылазиет!
C++ Создать бинарное дерево, по правой ветке - переменные типа инт, по левой - 2 переменные типа чар
C++ Конструкторы, приведение типа и ошибка "Не найден оператор, принимающий правый операнд типа 'char *'"
C++ Запись информации из вектора типа string в вектор типа double
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Jupiter
Каратель
Эксперт C++
6542 / 3962 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
10.01.2013, 02:37     Проблемы с неполной спецификацией типа #2
Цитата Сообщение от Winterad Посмотреть сообщение
Я же прописал объявление(неполную спецификацию типа) класса T2
это лишь позволяет создать указатель на тип, но никак не использовать этот указатель
Winterad
3 / 3 / 0
Регистрация: 15.12.2012
Сообщений: 14
10.01.2013, 02:40  [ТС]     Проблемы с неполной спецификацией типа #3
Выход с этой ситуации - разносить классы в разные файлы?
Jupiter
Каратель
Эксперт C++
6542 / 3962 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
10.01.2013, 02:45     Проблемы с неполной спецификацией типа #4
Цитата Сообщение от Winterad Посмотреть сообщение
Выход с этой ситуации - разносить классы в разные файлы?
да и ещё разделить описание класса и реализацию
Yandex
Объявления
10.01.2013, 02:45     Проблемы с неполной спецификацией типа
Ответ Создать тему
Опции темы

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