error: type/value mismatch at argument 1 in template parameter list for 'template<class T> class QList'
error: type/value mismatch at argument 1 in template parameter list for 'template<class T> class QList'
我正在尝试使用 QList 并在编译时遇到错误!
这是我的代码:
class Right
{
public:
Right();
Right(const Right& other);
Right(RightName name, QDate validity_date);
bool isValid() const;
bool operator==(const Right& other)const;
Right &operator=(const Right &other);
QString name;
QDate expiryDate;
};
然后在 QList 中使用这个 Right
class FileRightsRepo
{
public:
FileRightsRepo(QString rightsPath);
~FileRightsRepo() { }
// IRightsRepo interface
QList<Right> getRights();
private:
QString _rightsPath; // PATH to the file containing rights
};
我已经实现了这些 类,但是当我尝试编译时,出现以下异常:
error: type/value mismatch at argument 1 in template parameter list for 'template<class T> class QSet'
QList<Right> getRights();
这是 return 类型的 getRights()。
我已经阅读了 Qt 文档,它指定要使用的对象是可分配类型,并且我已经实现了所需的功能。
提前感谢您的帮助:)
这意味着你在其他地方Right
定义了一个变量、枚举常量或类似的东西。例如,这是一个重现您的问题的测试用例:
class Right;
enum { Right };
QList<Right> getRights();
您可以确保按如下方式使用 class
QList<class Right> getRights();
尽管最好使用 IDE 或 something else 追踪 Right
的其他定义并修复问题的根源。
我正在尝试使用 QList 并在编译时遇到错误! 这是我的代码:
class Right
{
public:
Right();
Right(const Right& other);
Right(RightName name, QDate validity_date);
bool isValid() const;
bool operator==(const Right& other)const;
Right &operator=(const Right &other);
QString name;
QDate expiryDate;
};
然后在 QList 中使用这个 Right
class FileRightsRepo
{
public:
FileRightsRepo(QString rightsPath);
~FileRightsRepo() { }
// IRightsRepo interface
QList<Right> getRights();
private:
QString _rightsPath; // PATH to the file containing rights
};
我已经实现了这些 类,但是当我尝试编译时,出现以下异常:
error: type/value mismatch at argument 1 in template parameter list for 'template<class T> class QSet'
QList<Right> getRights();
这是 return 类型的 getRights()。 我已经阅读了 Qt 文档,它指定要使用的对象是可分配类型,并且我已经实现了所需的功能。
提前感谢您的帮助:)
这意味着你在其他地方Right
定义了一个变量、枚举常量或类似的东西。例如,这是一个重现您的问题的测试用例:
class Right;
enum { Right };
QList<Right> getRights();
您可以确保按如下方式使用 class
QList<class Right> getRights();
尽管最好使用 IDE 或 something else 追踪 Right
的其他定义并修复问题的根源。