Шаблоны функций QT - PullRequest
       4

Шаблоны функций QT

0 голосов
/ 25 ноября 2010

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


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

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

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


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

};

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

Ответы [ 3 ]

3 голосов
/ 25 ноября 2010
template<class T> static void method(Vector<T> &aVector);
0 голосов
/ 06 мая 2015

collect2: ld вернул 1 состояние выхода

Я обнаружил, что эта ошибка произошла, когда моя программа не очистила память должным образом.Т.е. был запущен экземпляр моей программы.Поднял его на моем компьютере на базе Windows.так что Ctrl + Alt + Del, и вы должны увидеть экземпляр "collect2.exe" или что-то работает.Завершение этой задачи и запуск должны работать.

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

0 голосов
/ 25 ноября 2010

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

class MyClass  
{  
public:  
    template<class T>
    static void method(Vector<T> &aVector)
    {
        // ...
    }
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...