0

私は最近、C ++でのプログラミングについてさらに学ぶためにいくつかのコードを調べましたが、どういうわけか少し奇妙なことに直面しています。

クラス宣言を取得しました:

class myClass : public QObject, public virtual myObject::myOtherObject::myInterface {
    Q_OBJECT
    public: [...]
}

そして、コンパイル中に次のエラーが発生しました:

error: expected class-name before '{' token
error: myInterface is not a member of 'myObject::myOtherObject'

これはどこかの構文エラーですか?何が問題なのかわからない...

あなたはたまたま解決策が何であるかを知っていますか?

どうもありがとう :)

編集:インターフェースは無関係であり、他の場所での解決策でした。それにもかかわらず、答えは役に立ちました。

4

1 に答える 1

0

これはどこかで構文エラーですか?

いいえ、あなたのコードは構文的に正しいです。以下は、エラーなしで正常にコンパイルされます。

#include <QObject>

namespace myObject {
  namespace myOtherObject {
    class myInterface {
    };
  }
}

class myClass : public QObject, public virtual myObject::myOtherObject::myInterface {
    Q_OBJECT
    public:
};

そのため、myInterfaceクラスが定義されている場所を確認し、適切に含まれていることを確認する必要があります。

于 2013-02-28T15:32:07.637 に答える