前提
vectorに独自クラスのオブジェクトを格納し、それを削除する方法がわかりません。
実現したいこと
まずは、考え方を理解し、コンパイルが通るようにしたいです。
発生している問題・エラーメッセージ
VC++2019
C2676 二項演算子'==';'Character'は、この演算子または定義済の演算子に適切な型への変換の定義を行いません。
該当のソースコード
C++
#include <iostream>
#include <algorithm>
#include <vector>
class Character
{
public:
// デフォルトコンストラクタ
Character(int data) :
Data(data)
{
}
// コピーコンストラクタ
Character(const Character& ch)
{
Data = ch.Data;
}
public:
void PrintLife()
{
printf("Data:%d\n", Data);
}
private:
int Data;
};
int main()
{
Character testA(10);
std::vector<Character> test; test.push_back(testA); auto itr = std::remove(std::begin(test), std::end(test), testA); // .......... return 0;
}
試したこと
コピーコンストラクタをいろいろ設定してみたが、わかりませんでした。
補足情報(FW/ツールのバージョンなど)
VisualStudio 2019 C++

回答2件
あなたの回答
tips
プレビュー