реклама на сайте
подробности

 
 
> Глючок?, IAR C/C++ Compiler for AVR 5.11B/W32 (5.11.2.5)
Непомнящий Евген...
сообщение Jun 30 2008, 07:18
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 771
Регистрация: 16-07-07
Из: Волгодонск
Пользователь №: 29 153



Следующий код при компиляции выдает ошибку
Error[Pe304]: no instance of function "funcA" matches the argument list
argument types are: (int *)
detected during instantiation of "void funcT(T &) [with T=int]"

Код
static void funcA(void *p) {}

template<class T>
void funcT(T &t)
{
  funcA(&t);
}

void test()
{
  int t;
  funcT(t);
}


Если убрать квалификатор static у funcA либо вызвать ее напрямую из test, либо сделать funcT не шаблонной, либо просто явно привести тип указателя к void* - все ок.

И Visual C и GCC компилят нормально.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 21:18
Рейтинг@Mail.ru


Страница сгенерированна за 0.01353 секунд с 7
ELECTRONIX ©2004-2016