gpt4 book ai didi

c++ - Char 后跟一个 char 是非法的 (qglobal.h)

转载 作者:太空宇宙 更新时间:2023-11-04 11:36:25 25 4
gpt4 key购买 nike

我已经搜索过这个论坛并发现了一个相同的问题,但它没有解决,甚至没有提供解决我的问题的任何线索。我正在做一个使用模板的项目。首先,我像这样使用 C++ 映射

 typedef map<int ,cal_point*> p_mMap2D;

而且效果很好。然后我尝试使用 Qt 制作一个 GUI,但是当我使用“QMap”时,它给出了一个错误

 typedef QMap<int ,cal_point*> p_mMap2D;

Error 25 error C2632: 'char' followed by 'char' is illegal C:\Qt \4.7.4\include\QtCore\qglobal.h 897

然后我尝试像以前一样只使用 map ,但它仍然出错。我在网上搜索但没有得到任何与之相关的线索。如果我不使用 Qt 那么它就可以完美地工作。

来自 qtglobal.h 的代码

QT_BEGIN_INCLUDE_NAMESPACE
typedef unsigned char uchar;
typedef unsigned short ushort;
typedef unsigned int uint;
typedef unsigned long ulong;
QT_END_INCLUDE_NAMESPACE

最佳答案

在/src/corelib/global/qglobal.h 中,Qt 4.8.5 包含以下字符串:

# define QT_BEGIN_INCLUDE_NAMESPACE }
# define QT_END_INCLUDE_NAMESPACE namespace QT_NAMESPACE {

当预处理器用例如 QT_NAMESPACE=qt 扩展这个宏时,结果将是:

}
typedef unsigned char uchar;
typedef unsigned short ushort;
typedef unsigned int uint;
typedef unsigned long ulong;
namespace qt {

看起来像是定义 QT_BEGIN_INCLUDE_NAMESPACE 和 QT_END_INCLUDE_NAMESPACE 的错误。

关于c++ - Char 后跟一个 char 是非法的 (qglobal.h),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22932527/

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