gpt4 book ai didi

c++ - 未定义的错误引用显示我的函数 GTKMM C++ 的额外参数

转载 作者:搜寻专家 更新时间:2023-10-31 01:49:45 26 4
gpt4 key购买 nike

我正在写一个蛇梯游戏,我定义了一个名为 draw_snake 的函数,如下所示:

void draw_snake(const Cairo::RefPtr<Cairo::Context>& cr, 
std::pair<int,int> snake,
std::vector< std::pair<int,int> > boardcoords);

当我调用这个函数时,我按如下方式进行:

pair<int, int> snake = make_pair(100,1);
draw_snake(cr, snake, boardcoords);

boardcoordspair<int,int> 的 vector .错误消息说我在调用该函数时有第四个参数。错误信息是这样的:

myarea.cc:(.text+0x7db): undefined reference to `MyArea::draw_snake(Cairo::RefPtr<Cairo::Context> const&, std::pair<int, int>, std::vector<std::pair<int, int>, std::allocator<std::pair<int, int> > >)'

它从哪里得到这个分配器?

最佳答案

您误读了错误。该函数具有三个参数。

undefined reference to `MyArea::draw_snake(
Cairo::RefPtr<Cairo::Context> const&,
std::pair<int, int>,
std::vector<std::pair<int, int>, std::allocator<std::pair<int, int> > >
// ^ The vector's parameters are contained in these brackets ^
)

std::vector has a default "allocator" parameter .即使您未指定它,它也存在。

所以你得到的错误是你声明的确切函数没有定义。

关于c++ - 未定义的错误引用显示我的函数 GTKMM C++ 的额外参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16115428/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com