当传递vector作为参数时,错误C2061

error C2061 while passing vector as an argument

本文关键字:错误 C2061 参数 vector      更新时间:2023-10-16

我得到这个错误:

1>b:projectsc++wolvesislandwolvesislandwolvesislandboard.h(22): error C2061: syntax error : identifier 'vector'

试图传递vector作为实参。

(这是关于函数move())

代码:

Board.h

    #pragma once
    #include <vector>

    enum field_state {is_wolfm, is_wolff, is_rabbit, is_bush, is_nobody};
    struct state{
        field_state field;
        int number;
    };
    class Board
    {
    private:
        state island[20][20];

    public:
        Board(void);
        ~Board(void);
        void fill(int,int,int,int, vector<LivingForm*>*);
        state get_island(int,int);
        void set_state(int,int,field_state,int);
    };

和Board.cpp:

中的函数声明
    void Board::fill(int rabbit,int wolfm,int wolff,int bush,vector <LivingForm*> *creatures)

vector位于std名称空间中,因此您需要将其称为std::vector:

void fill(int,int,int,int, std::vector<LivingForm*>*);
//                         ^^^