powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Отнаследовать шаблонный класс
9 сообщений из 9, страница 1 из 1
Отнаследовать шаблонный класс
    #34033843
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что - то не врублюсь. Варнинги лезут

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
template <class T>
class class1 {
}

template <class T>
class class2 : public class1<T> {
}

варнинги
is imlicitly a typename
...
Рейтинг: 0 / 0
Отнаследовать шаблонный класс
    #34033873
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Собственно, дело глубже.

в классе class1:
Код: plaintext
1.
2.
    typedef void (T::*f)();
    class1(T *t, f _f);

в классе class2:
Код: plaintext
1.
     class2(T *t, f _f);

Это упрощенно. Вообщем, ругается на конструктор class2: class2<T>::f is implicitly a type name, implicit typename i deprecated.

Как исправить?
...
Рейтинг: 0 / 0
Отнаследовать шаблонный класс
    #34033907
вот так прокатило:

Код: plaintext
1.
2.
	class2(T *t, typename class1<T>::f _f);


под GCC собираетесь?
...
Рейтинг: 0 / 0
Отнаследовать шаблонный класс
    #34033928
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Голенков Владимирвот так прокатило:

Код: plaintext
1.
2.
	class2(T *t, typename class1<T>::f _f);


под GCC собираетесь?

Спасибо.

Да под gcc 3.3.3. Начал рыть в инете нашел typename - не помогло. Для gcc v3 нашел class1<T>:: - тоже не помогло. А так как у тебя - работает, я не успел еще попробовать. :)

Блин, как написано в инете комитет ANSI потихоньку сходит с ума
...
Рейтинг: 0 / 0
Отнаследовать шаблонный класс
    #34033933
Dmitrii K.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
http://www.agapow.net/programming/cpp/implicit-typename
The problem here is that when a compiler encounters something like classname::something, it has to decide whether this is a member variable, member function, or name of a type declared inside the class (e.g. a typedef or nested class). In the case of dependent names (ones that depend on a template parameter) this is easy. Often, compilers assume it is a type name - which would be correct in this case. However more recent compilers demand that you resolve this ambiguity.

Компилятор просит уточнить "что вы имели ввиду" )
...
Рейтинг: 0 / 0
Отнаследовать шаблонный класс
    #34033953
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dmitrii K. http://www.agapow.net/programming/cpp/implicit-typename
The problem here is that when a compiler encounters something like classname::something, it has to decide whether this is a member variable, member function, or name of a type declared inside the class (e.g. a typedef or nested class). In the case of dependent names (ones that depend on a template parameter) this is easy. Often, compilers assume it is a type name - which would be correct in this case. However more recent compilers demand that you resolve this ambiguity.

Компилятор просит уточнить "что вы имели ввиду" )

А резве у меня есть варианты? В данном случае эти имена уникальны.
...
Рейтинг: 0 / 0
Отнаследовать шаблонный класс
    #34033970
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dmitrii K. http://www.agapow.net/programming/cpp/implicit-typename
The problem here is that when a compiler encounters something like classname::something, it has to decide whether this is a member variable, member function, or name of a type declared inside the class (e.g. a typedef or nested class). In the case of dependent names (ones that depend on a template parameter) this is easy. Often, compilers assume it is a type name - which would be correct in this case. However more recent compilers demand that you resolve this ambiguity.

Компилятор просит уточнить "что вы имели ввиду" )

И даже, если на счет шаблонов (я смог даже дальше перевести ;) ), то у меня easy шаблон, т.к. от одного класса. Тут вообще, не может быть непоняток.
...
Рейтинг: 0 / 0
Отнаследовать шаблонный класс
    #34034023
Dmitrii K.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AkhИ даже, если на счет шаблонов (я смог даже дальше перевести ;) ), то у меня easy шаблон, т.к. от одного класса. Тут вообще, не может быть непоняток.
Переводим ещё чуть дальше:
"However" - "несмотря на это" ;)
...
Рейтинг: 0 / 0
Отнаследовать шаблонный класс
    #34034070
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dmitrii K. AkhИ даже, если на счет шаблонов (я смог даже дальше перевести ;) ), то у меня easy шаблон, т.к. от одного класса. Тут вообще, не может быть непоняток.
Переводим ещё чуть дальше:
"However" - "несмотря на это" ;)

Ага, "чем дальше в лес, тем толще партизаны". This is minus of standart C++.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Отнаследовать шаблонный класс
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]