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

Шаблонный класс. Ошибка : aggregate 'Box<info*> ob' has incomplete type and cannot be defined - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Посчитать количество нулевых элементов в массиве, вывести их индексы http://www.cyberforum.ru/cpp-beginners/thread1303562.html
делаю лабу, наполовину завершил, но наткнулся на эту задачу, хэлп.. Написать программу определения количества и номера индексов нулевых элементов массива вещественных чисел. Вывести на экран найденное количество, а также все найденные номера индексов. Заранее Thank's!
C++ Функции друзья в отдельном файле Здравствуйте уважаемые программисты ! У меня вопрос. При разбивке проекта, класс поместил в заголовочный файл, а как быть с его функциями друзьями ?) Тоже к нему в хэдер добавить ? Ведь прототип функции-друга находится внутри класса, и новый прототип за пределами класса с ключевым словом friend, создать не получится. http://www.cyberforum.ru/cpp-beginners/thread1303547.html
C++ Преобразовать в рекурсивную функцию
Помогите преобразовать следующий код так, чтобы вычисление функции происходило с помощью рекурсии... #include <cstdlib> #include <iostream> #include <math.h> using namespace std;
C++ Объединение чисел в пары
Нужна небольшая помощь. Задание звучит так: Даны n пар положительных чисел: (a1,b1),(a2,b2),...,(An,Bn). Определить: а)в какой паре среднее арифметическое значений чисел является максимальным. Если пар с макс. значением среднего арифметического несколько, найти номер последней из них; б)в какой паре среднее геометрическое значений чисел является максимальным. Если таких пар несколько, найти...
C++ LNK2019: о private и public в классе http://www.cyberforum.ru/cpp-beginners/thread1303538.html
Всем суп, есть беда: // "NAbstractNumber.h" class NAbstractNumber{ NAbstractNumber(){}; virtual std::string toString(int base = 10) const = 0; virtual NAbstractNumber & operator = (const NAbstractNumber &) = 0; };
C++ Считывание отрицательных чисел из файла Собственно как считать из файла отрицательное число? Положительные числа считываются нормально, при считывание отрицательных программа зависает. подробнее

Показать сообщение отдельно
DrOffset
6920 / 4113 / 941
Регистрация: 30.01.2014
Сообщений: 6,908
18.11.2014, 03:45     Шаблонный класс. Ошибка : aggregate 'Box<info*> ob' has incomplete type and cannot be defined
Цитата Сообщение от Gr1f0nn Посмотреть сообщение
Как мне написать, что, в данном случае, тип данных infoD является производным от X (info)?
Как-то автоматически это сделать нельзя.
Предлагаю следующее. Инстанцировать шаблон, не базовым типом, а производным:
C++
1
Box<infoD>
Кстати почему в твоем варианте ты параметризуешь его типом-указателя, если Х, судя по приведенном коду, должен быть info, а не info* ?
В производном классе завести typedef который будет псевдонимом для базового, например так:
C++
1
2
3
4
5
6
class infoD : public info
{
public:
    typedef info base;
//.......
};
В теле шаблона писать так:
C++
1
2
3
4
5
6
7
                msg = curr->get_m();
                temp = new typename X::base(msg);
            } else {
                msg = curr->get_m();
                nick = curr->get_n();
                temp = new X(msg, nick);
            }
Хотя, честно говоря, мне кажется лучшим решением будет рассказать про свою задачу здесь. Помогут перепроектировать. Когда возникают проблемы, наподобие этой
C++
1
if(curr->get_type() == "info") {
, значит что-то не так в архитектуре.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru