一、问题描述

在使用下面的抽象模板方法时,报错:

//抽象出来的模板方法,根据传入的函数,决定是画线,还是添加 LineItem
void addLine(std::function<void (QGraphicsItem *lineStartItem, QGraphicsItem *lineEndItem, int lineItemId)> handleLine);

一、std::function has not been declared解决办法_#include

二、解决办法

引入 QMap 即可

#include<QMap>

我猜测,由于参数超过一个,所以 ​​std::function​​​ 可能在处理参数时使用到了 ​​QMap​