Почему не может я хранить повышение:: функция в станд.:: список?

Попробуйте поместить путь libcuda.so.1 в переменную окружения LD_LIBRARY_PATH.

пример:

export LD_LIBRARY_PATH=/path/of/libcuda.so.1:$LD_LIBRARY_PATH
5
задан Mateen Ulhaq 30 April 2011 в 01:48
поделиться

1 ответ

Необходимо поместить typename перед той строкой начиная с типа Вы делаете:: итератор на является иждивенцем на шаблонном параметре T. Как это:

template< class T >
void example() {
    typename std::list< boost::function<T ()> >::iterator it;
}

Рассмотрите строку

std::list< boost::function<T ()> >::iterator * it; 

который мог означать умножение или указатель. Вот почему Вам нужно typename ясно дать понять Ваше намерение. Без него компилятор принимает не тип, и таким образом это требует оператора там или точки с запятой синтаксически.


Также консультируйтесь с новым C++ запись FAQ, Куда поместить шаблон и имя типа на зависимых именах.

18
ответ дан 18 December 2019 в 09:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: