これがコードです
#include <iostream>
#include <QApplication>
#include <QTimer>
class myClass : public QObject {
Q_OBJECT
public:
QTimer *timer;
myClass(){
timer = new QTimer(this);
connect(timer, SIGNAL(timeout()), this, SLOT(mySlot()));
timer->start(1000);
}
public slots:
void mySlot() {
std::cout << "Fire" << std::endl;
}
};
int main() {
std::cout << "Hello, world";
myClass atimer;
return 0;
}
エラーとは別に、私が理解していないことが2つあります。
マクロの後にセミコロンがないのはなぜですか。この場合はQ_OBJECTです。C ++構文に準拠していないようですが、それでも人々はそのようなコードを記述します。
「パブリックスロット」はQtによって作成された修飾子ですが、どうしてgccコンパイラはそれを理解できるのでしょうか。QtのようなIDEは、言語の標準構文をどのように変更できますか?