gpt4 book ai didi

c++ - 另一个宏中的 Q_PROPERTY 宏

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:49:52 27 4
gpt4 key购买 nike

如何将 Q_PROPERTY 宏放入另一个辅助宏中?

#define SimpleAllinOne(member, _type) \
public: \
void Set##member(_type _arg_##member) \
{ \
m_##member = _arg_##member;\
} \
_type Get##member() const\
{ \
return m_##member;\
} \
private: \
_type m_##member; \
Q_PROPERTY(_type member READ Get##member WRITE Set##member)

.. 不起作用。预处理器输出(gcc -E flagnmake/jom/P flag)显示了(有效的)setter/getter 方法和相应的成员变量,但不是 的单个字符code>Q_PROPERTY 行。

更新:它似乎适用于正确扩展用户宏的 Qt5.1。 Qt4.8不行,Qt5.0没测试过。参见 #QTBUG-35 (感谢 ??)。

最佳答案

Qt4.x 中的 moc 无法识别预处理器宏中的 Q_ 宏。

Qt5.x 中的 moc 在解析 Q_ 宏之前展开预处理器宏。

关于c++ - 另一个宏中的 Q_PROPERTY 宏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17618893/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com