Вложенный шаблонный класс: невозможно сопоставить определение функции с существующим объявлением

Используя MSVC ++ 2010 (компилятор NVCC (CUDA)), определяя вложенный шаблонный член класса не шаблонный родитель класс за пределами блока объявления:

class cls {
public:
template <typename V> class nest {
public:
template <typename W> void bar(W x);
};
};

template <typename V>
template <typename W>
void cls::nest<V>::bar(W x) {}

выходы:

error C2244: 'bar' : unable to match function definition to an existing declaration
1>          definition
1>          'void cls::nest<V>::bar(W)'
1>          existing declarations
1>          'void cls::nest<V>::bar(W)'

Зачем?

Обновить: кажется, ошибка NVCC. http://ideone.com/rc7R32 работает, но не с NVCC. Кто-нибудь из Nvidia собирается комментировать?

3

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]