Closed. This question is off-topic。它当前不接受答案。
想改善这个问题吗? Update the question,所以它是on-topic,用于堆栈溢出。
6年前关闭。
我正在尝试制作一个
X:\ Folder \ ink.cpp:56:错误:C2664:QPainter :: QPainter(QPaintDevice *):无法将参数1从Ink * const转换为QPaintDevice *
指向的类型无关。转换需要reinterpret_cast,C样式强制转换或函数样式强制转换
简化代码:
错误发生在以下行:
然后它也抱怨
X:\ Folder \ ink.cpp:11:错误:C2653:ink:不是类或名称空间名称
在网上:
请用婴儿的话,我今天才开始使用C ++。
想改善这个问题吗? Update the question,所以它是on-topic,用于堆栈溢出。
6年前关闭。
我正在尝试制作一个
QPainter
对象。所有示例都做类似的事情。但它抱怨:X:\ Folder \ ink.cpp:56:错误:C2664:QPainter :: QPainter(QPaintDevice *):无法将参数1从Ink * const转换为QPaintDevice *
指向的类型无关。转换需要reinterpret_cast,C样式强制转换或函数样式强制转换
简化代码:
#include <QtCore>
#include <QtGui>
#include <QPainter>
class Ink
{
public:
void ink::paintEvent( QPaintEvent* event )
{
QPainter painter(this);
}
};
错误发生在以下行:
QPainter painter(this);
然后它也抱怨
X:\ Folder \ ink.cpp:11:错误:C2653:ink:不是类或名称空间名称
在网上:
void ink::paintEvent(QPaintEvent *event)
请用婴儿的话,我今天才开始使用C ++。
最佳答案
QPainter
的构造函数似乎采用了指向QPaintDevice
的指针,而您试图将其传递给Ink
实例的指针,因此它将无法正常工作。也许您打算从Ink
导出QPaintDevice
,在这种情况下,您需要class Ink : public QPaintDevice { ...
等。
在类中定义函数时,不需要ink::
。在任何情况下,Ink
和ink
都不一样,因为C ++区分大小写。
关于c++ - QT C++ QPainter-如何正确使用“this”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18424971/
10-12 17:50