Ошибка шаблонного подкласса из шаблонного базового класса

Я пытаюсь создать шаблон для подкласса, который будет указан позже, из шаблонного базового класса. Но получил ошибку

test.C: In constructor ‘myDeri<U>::myDeri()’:
test.C:30:16: warning: extended initializer lists only available with -std=c++0x or -std=gnu++0x [enabled by default]
test.C:35:5: error: expected ‘{’ before ‘~’ token

только из следующего

#include <iostream>

using namespace std;

// Base class
template<typename U>
class myBase  // base class to be derived
{
public:
myBase(){}
~myBase() {}

};template<typename U>
class myDeri : public myBase<U> // as i know, this should be Template derived class, Template base class case
{
public:
myDeri() : myBase<U> {}
~myDeri() {}
};

int main()
{
return (0);
}

3

Решение

Вы не правильно вызываете конструктор шаблонного базового предложения

myDeri() : myBase<U> {}

должно быть

myDeri() : myBase<U>() {}
4

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector