3

テンプレート化された基本クラスから、後で指定するサブクラスをテンプレート化しようとしています。しかし、エラーが発生しました

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);
}
4

1 に答える 1

4

テンプレート化された基本クラスのコンストラクターを正しく呼び出していません

myDeri() : myBase<U> {}

する必要があります

myDeri() : myBase<U>() {}
于 2013-01-28T02:55:16.840 に答える