规范的Qt示例是:
class Counter : public QObject
{
Q_OBJECT
int m_value;
public:
int value() const { return m_value; }
public slots:
void setValue(int value);
signals:
void valueChanged(int newValue);
};
Qt定义宏:
#define slots /* nothing */
预处理器运行后,我们留下:
public slots:
void setValue(int value);
:
void valueChanged(int newValue);
};
独立式结肠有什么影响?我可以在任何我想要的地方添加冒号吗?
int main() {
:
std::cout << "hi";
:
return 0;
}
独立冒号在C ++中做了什么,为什么允许?
答案 0 :(得分:5)
:
和C
中不允许独立C++
。
signals
定义为public
,所以
signals:
void valueChanged(int newValue);
将被预处理为
public:
void valueChanged(int newValue);
所以没有免费的冒号。
现在,插槽被定义为
public slots:
void setValue(int value);
将被替换为(在用空格替换注释之后。
public :
void setValue(int value);