두 물체를 비교하는 방법?

Jimm Inciong

두 개체를 비교하려고하는데 오류가 계속 발생합니다.

바이너리 '==': 'robot'은이 연산자를 정의하지 않거나 사전 정의 된 연산자가 허용하는 유형으로의 변환을 정의하지 않습니다.

이것은 내 cpp 파일입니다.

void move(const robot r, vector<robot>& vec_r) {
    // 0 = north, 1 = east, 2 = south, 3 = west

    int x = r.xpos();
    int y = r.ypos();

    // move the robot depending on which direction it's facing
    if (direction == 0) { ++y; }
    else if (direction == 1) { ++x; }
    else if (direction == 2) { --y; }
    else if (direction == 3) { --x; }

    // check if space is occupied and also if in enemy team, delete the robot
    for (auto &p : vec_r) {
        if (x == p.xpos() && y == p.ypos() /* && r.teamNo() == p.teamNo() */ ) {
            find(vec_r.begin(), vec_r.end(), [&]() {
                return robot(r.id(), r.teamNo(), x, y) == robot(p.id(), p.teamNo(), p.xpos(), p.ypos()); 
            });
        }
    }

    cout << r.id() << ' ' << r.teamNo() << ' ' << x << ' ' << y << ' ' << "\n";
}

이것은 내 헤더 파일입니다.

#ifndef ROBOT_H
#define ROBOT_H

#include <vector>
#include <string>

class robot {
    int _id;
    int _teamNo;
    int _xpos;
    int _ypos;

public:
    robot(const int &id, int teamNo, int xpos, int ypos) :
        _id(id), _teamNo(teamNo), _xpos(xpos), _ypos(ypos) {}

    // Accessor functions for robot details
    int id() const { return _id; }
    int teamNo() const { return _teamNo; }
    int xpos() const { return _xpos; }
    int ypos() const { return _ypos; }

    int getDirection() { return direction; };

    int Compare(const robot& r) const;

    bool operator == (const robot& r) const {
        return 0 == Compare(r);
    }

private:
    int direction = 0;
};

#endif
감독자

자신의 클래스 유형에 대해 연산자를 정의 할 수 operator==있습니다.

class robot {
    // ... all your other stuff
    public:
    bool operator==(const robot& other) const {
        return _id == other._id; // Use whatever logic makes sense for you here
    }
};

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

두 std :: set의 두 비교를 비교하는 방법

분류에서Dev

두 .exe를 비교하는 방법

분류에서Dev

viewstate를 사용하여 두 개체를 비교하는 방법

분류에서Dev

두 개체를 비교하는 방법-비교에서 특정 속성 제외

분류에서Dev

두 개체를 비교하는 방법 (아무것도 아님)

분류에서Dev

두 개의 복잡한 객체를 비교하는 방법?

분류에서Dev

두 개체를 임의 생성자와 비교하는 방법

분류에서Dev

루비가 두 날짜 (또는 다른 객체)를 비교하는 방법

분류에서Dev

두 배열의 객체를 비교하고 공통 객체를 얻는 방법

분류에서Dev

testng를 사용하여 두 개의 json 객체를 비교하는 방법

분류에서Dev

시트에서 두 전체 행을 비교하는 방법

분류에서Dev

두 개의 DateTimePicker를 JQuery와 비교하는 방법?

분류에서Dev

SQL 두 필드를 비교하는 방법?

분류에서Dev

두 개의 tm (ctime에서) 변수를 비교하는 방법

분류에서Dev

Godot에서 두 노드 좌표를 비교하는 방법

분류에서Dev

GQL에서 두 필드를 비교하는 방법

분류에서Dev

두 목록 상자를 비교하는 방법

분류에서Dev

두 날짜를 비교하는 방법, asp.net

분류에서Dev

이 두 쿼리를 비교 쿼리로 병합하는 방법

분류에서Dev

두 변수를 비교하는 우아한 방법?

분류에서Dev

하위 목록 길이를 얻는 두 가지 방법 비교

분류에서Dev

두 통합 문서를 비교하는 방법

분류에서Dev

두 클래스를 비교하는 방법

분류에서Dev

두 숫자를 비교하는 빠른 방법

분류에서Dev

두 테이블의 데이터를 비교하는 방법

분류에서Dev

두 개의 Time 객체를 시간까지만 비교하는 방법

분류에서Dev

두 개의 openssl X509 인증서 객체를 비교하는 방법 C ++

분류에서Dev

루비에서 두 가지 데이터 세트를 비교하는 방법

분류에서Dev

마이크로 초를 비교하지 않고 두 날짜를 비교하는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    두 std :: set의 두 비교를 비교하는 방법

  2. 2

    두 .exe를 비교하는 방법

  3. 3

    viewstate를 사용하여 두 개체를 비교하는 방법

  4. 4

    두 개체를 비교하는 방법-비교에서 특정 속성 제외

  5. 5

    두 개체를 비교하는 방법 (아무것도 아님)

  6. 6

    두 개의 복잡한 객체를 비교하는 방법?

  7. 7

    두 개체를 임의 생성자와 비교하는 방법

  8. 8

    루비가 두 날짜 (또는 다른 객체)를 비교하는 방법

  9. 9

    두 배열의 객체를 비교하고 공통 객체를 얻는 방법

  10. 10

    testng를 사용하여 두 개의 json 객체를 비교하는 방법

  11. 11

    시트에서 두 전체 행을 비교하는 방법

  12. 12

    두 개의 DateTimePicker를 JQuery와 비교하는 방법?

  13. 13

    SQL 두 필드를 비교하는 방법?

  14. 14

    두 개의 tm (ctime에서) 변수를 비교하는 방법

  15. 15

    Godot에서 두 노드 좌표를 비교하는 방법

  16. 16

    GQL에서 두 필드를 비교하는 방법

  17. 17

    두 목록 상자를 비교하는 방법

  18. 18

    두 날짜를 비교하는 방법, asp.net

  19. 19

    이 두 쿼리를 비교 쿼리로 병합하는 방법

  20. 20

    두 변수를 비교하는 우아한 방법?

  21. 21

    하위 목록 길이를 얻는 두 가지 방법 비교

  22. 22

    두 통합 문서를 비교하는 방법

  23. 23

    두 클래스를 비교하는 방법

  24. 24

    두 숫자를 비교하는 빠른 방법

  25. 25

    두 테이블의 데이터를 비교하는 방법

  26. 26

    두 개의 Time 객체를 시간까지만 비교하는 방법

  27. 27

    두 개의 openssl X509 인증서 객체를 비교하는 방법 C ++

  28. 28

    루비에서 두 가지 데이터 세트를 비교하는 방법

  29. 29

    마이크로 초를 비교하지 않고 두 날짜를 비교하는 방법은 무엇입니까?

뜨겁다태그

보관