c++ - 命名类时的空格?

标签 c++ wxwidgets

当我看到这段代码时,我正在通过wxWidgets的源码

class WXDLLIMPEXP_FWD_CORE wxKeyEvent;

在这之后他们定义了一个这样的类

class WXDLLIMPEXP_FWD_CORE wxKeyEvent : public wxEvent{
//some code
};

如您所见,有一个空格,但在命名类时不能有它,此外,我编写了这段成功编译的小代码`

#include <bits/stdc++.h>

using namespace std;

class a
{
public:
    int x;  
};

class a b
{
    // it fails if i add anything there
};

int main()
{
    return 0;
}

当我在 a b 类中添加一些内容时,编译失败。你能告诉我发生了什么事吗?

谢谢!

最佳答案

WXDLLIMPEXP_FWD_CORE 是一个宏,应该添加一个(特定于编译器的)类属性并扩展为 __declspec(dllexport)__declspec(dllimport) 取决于是用于导出还是导入类。

你的例子 class a b {/* ... */}; 只是无效的语法,

类名不能包含空格。

关于c++ - 命名类时的空格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42706156/

相关文章:

c++ - 自定义 wxTextCtrl 自动完成

python - 在二郎 : How do I expand wxNotebook in a panel?

python - 使用哪些 gui 元素?

c++ - 在 .cpp 文件中包含包含类的 header 无法按预期工作

c++ - 在另一个线程(不是主线程)中创建窗口

c++ - 如何使用opencv C++将3D矩阵分成一堆2D矩阵

c++ - std::move 给出了将 std::string 移动到另一个线程的错误

c++ - wxTextValidator 导致崩溃

python - 如何向 wxGrid 单元格添加复选框?

c++ - decltype((void)T{}) in template Partial Specialization 不推导?