我正在使用脚本语言ChaiScript和c++和Qt。我定义了这样的功能:
void ChaiPainter::drawRectangle(QPainter *painter, int x, int y, int height, int width)
{
painter.drawRect(x, y, width, height);
}而在应用程序中,油漆事件:
void MainWindow::paintEvent(QPaintEvent *event)
{
QPainter painter(this);
chaiPainter->mChai.add(chaiscript::var(&painter), "painter");
chaiPainter->mChai.add(chaiscript::fun(&ChaiPainter::drawRectangle), "drawRect");
chaiPainter->mChai("drawRect(painter, 5, 5, 100, 100)");
}错误是:
'chaiscript::Eval_Error‘what():错误:在(1,1)的计算期间,“没有匹配的函数与函数’drawRect‘一起分派给
我做错了什么?
发布于 2010-03-23 18:39:23
从文档中可以看出,您需要使用fun(mem_fn, instance)表单来获得预绑定函数:
chaiPainter->mChai.add(
chaiscript::fun(&ChaiPainter::drawRectangle, chaiPainter), "drawRect");https://stackoverflow.com/questions/2502411
复制相似问题