C++ vector 和错误 "no instance of overloaded function"

标签 c++ vector

我定义了一个简单的类

#pragma once
#include "aSuit.h";
class Card
{
private:
    aSuit theSuit;
public:
    Card(void);
    ~Card(void);
    aSuit getSuit();
    void setSuit(aSuit theSuit);
};

然后我定义了一个vector

vector<Card> theCards;

然后我想推一张卡片用

theCards.push_back(new Card());

我遇到编译错误“没有重载函数的实例”。

vector.push_back 使用字符串 vector ,但不使用我定义的类。我正在使用 Visual C++ 2010。请帮忙。

最佳答案

vector<Card> theCards;

这将创建一个 Card vector 。

theCards.push_back(new Card());

这假定您有一个“指向Card”的 vector 。

“指向Card 的指针”和“Card是一回事。你的意思是:

theCards.push_back(Card());

关于C++ vector 和错误 "no instance of overloaded function",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12083070/

相关文章:

c++ - 当图形项靠着其边框放置时,使 QGraphicsScene 变大

c++ - 关于重新定义的琐碎问题

c++ - 不能使用基类模板成员函数

c++ - struct 中的 vector 指针无法转换 main 中的 vector ,这是怎么回事?

c++ - 为什么 LLVM 的 Optional<T> 是这样实现的?

c++ - 检查 PDCurses/NCurses 中当前/给定位置的字符

c++ - 由于 vector.push_back() 导致执行过早结束 [C++]

c++ - 为什么我的插入排序函数不会更改我从 int main 传递的数组?

c++ - 由 vector 中的负索引引起的杂散 ‘\342’ 或者它是什么?

C# 将 Vector3d/Point3d 转换为 double[]