0

オブジェを作ろうとしてい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: インク: はクラスまたは名前空間の名前ではありません

これはオンラインです:

void ink::paintEvent(QPaintEvent *event)

ベイビーワードを使用してください。私は今日 C++ を始めたばかりです。

4

1 に答える 1

1
  1. のコンストラクターQPainterは へのポインターを受け取るようQPaintDeviceで、インスタンスへのポインターを渡そうとしているInkため、機能しません。Inkから派生するつもりだったのかもしれませQPaintDeviceclass Ink : public QPaintDevice { ...

  2. ink::クラス内で関数を定義するときは必要ありません。いずれにせよ、C++ では大文字と小文字が区別されるため、これらは同じではありませんInkink

于 2013-08-25T02:09:53.537 に答える