首页 > 解决方案 > 自定义 QVector 类的 Qt LNK2019 问题

问题描述

我有一个自定义 QVector 类,它有一个功能:返回满足某些条件的向量元素。

这是一些代码:customvector.h

#ifndef CUSTOMVECTOR_H
#define CUSTOMVECTOR_H

#include "customfile.h"

#include <QVector>

template<typename T>
class CustomVector : public QVector<T>
{
public:
    using QVector<T>::QVector;

    CustomFile find(int index);
};

自定义向量.cpp

#include "customvector.h"

template <typename T>
CustomFile CustomVector<T>::find(int index)
{
    // Processing
}


#endif // CUSTOMVECTOR_H

驱动这个的代码:

CustomVector<CustomFile> files;
files[0] = CustomFile(0);
files[1] = CustomFile(1);
qDebug() << files.get(0).index;

自定义文件.h

class CustomFile
{
public:
    CustomFile(int index);
    int index;
};

自定义文件.cpp

CustomFile::CustomFile(int index)
{
    this->index = index;
};

我遇到的问题是我不断收到 LNK2019 错误,告诉我 find(int) 函数是一个未解析的外部符号。任何人都可以帮忙吗?

标签: c++qtinheritance

解决方案


推荐阅读