'class MyClass' 在尝试定义静态结构实例时不会命名类型



我正在尝试定义/声明一个静态结构实例,但是当我使用g++ -std=c++11 -g -Wall -c test.cc编译时,我不断收到错误test.cc:3:1: error: ‘mine’ in ‘class MyClass’ does not name a type

这是我的代码的样子:

//test.h
#ifndef TEST_H
#define TEST_H
#include <stdint.h>
struct my_struct {
    uint8_t foo;
    uint8_t bar;
};
class MyClass {
public:
    static const struct my_struct mine;
};

#endif
//test.cc
#include "test.h"
MyClass::mine = {1, 2}; 

在 C 中,你需要使用 struct StructName 来声明一个对象。

但在C++,在宣布之前structclass都是不必要的。

最新更新