определение шаблона не шаблон - PullRequest
2 голосов
/ 07 июля 2011

Я получаю ошибку компиляции "определение шаблона не-шаблона" при попытке реализовать что-то вроде этого:

class BaseFoo
{
    BaseFoo();
    ~BaseFoo();

    virtual void method();
};

template <class A>
class Foo : public BaseFoo
{
 Foo();
    ~Foo();

    virtual void method();
};

Можно ли переопределить метод в классе шаблона, если он был ранее определен в его базовом классе, который не является шаблонным классом?

Ответы [ 2 ]

3 голосов
/ 07 июля 2011

Видимо, это ошибка, которая была окончательно исправлена ​​в gcc 4.2. См http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27211.

0 голосов
/ 07 июля 2011

Да, такие вещи совершенно законны. Код, который вы предоставили, прекрасно компилируется в gcc 4.2.1.

Это именно тот код, для которого вы получаете сообщение об ошибке? Какой компилятор вы используете?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...