2010-11-25 2 views
0

Как использовать шаблоны функций, чтобы следующий метод работал для любого переданного вектора?Шаблоны функций QT


class MyClass 
{ 
public: 
    static void method(Vector &aVector); 
}; 

void MyClass::method(Vector &aVector) 
{ 
... 
} 

Я попытался следующие, но я получаю сообщение об ошибке:
collect2: л.д. возвращается статус 1 выхода


class MyClass 
{ 
public: 
    template<class T> 
    static void method(Vector &aVector); 

}; 

template<class T> 
void MyClass::method(Vector &aVector) { 
// ... 
} 

ответ

3
template<class T> static void method(Vector<T> &aVector); 
+1

(шепотом :) напишите вектор с небольшим v :) – 2010-11-25 19:00:35

0

Просто объявите функцию в качестве шаблона, и пропуск его шаблонный параметр к вектору, например:

class MyClass 
{ 
public: 
    template<class T> 
    static void method(Vector<T> &aVector) 
    { 
     // ... 
    } 
}; 
0

collect2: ld возвращено 1 статус выхода

Я обнаружил, что эта ошибка возникла, когда моя программа не очистилась из памяти должным образом. То есть был экземпляр моей программы. Поднял его на моем компьютере на базе Windows. поэтому ctrl + alt + del, и вы должны увидеть экземпляр «collect2.exe» или что-то запущенное. Прекращение выполнения этой задачи и работы.

Не знаете, почему это происходит.

Смежные вопросы