c++ - 编译器错误: "expected specifier-qualifier-list"

标签 c++

int main()
{
    typedef struct a
    {
        static int w;
        char *p;
    } a;
}

编译时出现错误:'static'之前预期有说明符限定符列表 你能告诉我这个错误是什么意思以及如何删除它吗?

最佳答案

C++ 中的本地类不能有静态数据成员。

引用标准(第 9.8.4 段)

A local class shall not have static data members.

在您不知道的极少数情况下,本地类是在函数作用域中定义的类、结构或 union 。

9.8.1

A class can be defined within a function definition; such a class is called a local class.

关于c++ - 编译器错误: "expected specifier-qualifier-list",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6939020/

相关文章:

c++ - 避免在期望解析器失败时抛出 expectation_failure

c++ - 将图像拟合到 ROI

c++ - 为什么 C++ 找不到 GLM header ?

c++ - 如何避免可执行文件关心其依赖项的依赖关系?

c++ - 如何获取函数整数的模板参数包?

c++ - Chrome 中的 NPAPI tcp http 服务器 c++

c++ - 用引用隐藏指针

c++ - ELF 包含 NEON 或 VFP3 指令?

c++ - 从 3D 对象获取 2D 凹多边形

c++ - C++11 中的读者/作者多线程