Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> глюк mingw? или глючу я? ошибка компилятора. 
V
    Опции темы
victor79
Дата 18.8.2013, 04:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


программист
*


Профиль
Группа: Участник
Сообщений: 211
Регистрация: 15.5.2008

Репутация: нет
Всего: нет



есть код:
Код

template <class T>
class A {
public:
    T prop;
    void meth1() { prop = 1; }
};

template <class T>
class B : public A<T> {
public:
    void meth2() {
                    meth1(); } // <- сюда указывает ошибка
};

int main() {
    B<int> b;
    b.meth2();
}

и есть компилятор mingw 4.6.2 и пробовал на 4.7.2.
Выдает ошибку:
Код

6.cpp: In member function 'void B<T>::meth2()':
6.cpp:12:27: error: there are no arguments to 'meth1' that depend on a template parameter, so a declaration of
 'meth1' must be available [-fpermissive]
6.cpp:12:27: note: (if you use '-fpermissive', G++ will accept your code, but allowing the use of an undeclare
d name is deprecated)

Причем, если убрать template, и есть А, и от него наследуется B, так же как в примере, то ошибки нету.
Вот и вопрос: глючу я или глючит компилятор?

так же, если ошибочную строку заменить на:
Код

A<T>::meth1();

тогда ошибки не возникает.

Это сообщение отредактировал(а) victor79 - 18.8.2013, 04:59
PM MAIL WWW   Вверх
mes
Дата 18.8.2013, 12:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 144
Всего: 250



Цитата(victor79 @  18.8.2013,  03:55 Найти цитируемый пост)
Вот и вопрос: глючу я или глючит компилятор?

не компилятор smile

первое с гугля : http://eli.thegreenplace.net/2012/02/06/de...or-c-templates/


--------------------
PM MAIL WWW   Вверх
victor79
Дата 20.8.2013, 03:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


программист
*


Профиль
Группа: Участник
Сообщений: 211
Регистрация: 15.5.2008

Репутация: нет
Всего: нет



спасибо.
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0443 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.