Error: initializer must be brace-enclosed
Error: initializer must be brace-enclosed
这个错误是什么意思,为什么我不能用花括号初始化列表初始化这个结构?不幸的是,结构是自动生成的。
// Contains no functionality, purely documentative.
struct NativeTable {};
...
struct TableKeyT : public flatbuffers::NativeTable {
typedef TableKey TableType;
std::string exp{};
std::string type{};
std::string ext{};
};
...
TableKeyT key { std::string(sym), std::string(ex), std::string("") };
[build] ../../../src/io/socket.cpp:102:39: error: initializer for ‘flatbuffers::NativeTable’ must be brace-enclosed
[build] 102 | TableKeyT key { std::string(sym), std::string(ex), std::string("") };
[build] | ^~~
由于TableKeyT
继承了NativeTable
,你还需要初始化基class,但由于它是一个空的class,所以使用{}
应该没事。
TableKeyT key { {}, std::string(sym), std::string(ex), std::string("") };
//^^^
这个错误是什么意思,为什么我不能用花括号初始化列表初始化这个结构?不幸的是,结构是自动生成的。
// Contains no functionality, purely documentative.
struct NativeTable {};
...
struct TableKeyT : public flatbuffers::NativeTable {
typedef TableKey TableType;
std::string exp{};
std::string type{};
std::string ext{};
};
...
TableKeyT key { std::string(sym), std::string(ex), std::string("") };
[build] ../../../src/io/socket.cpp:102:39: error: initializer for ‘flatbuffers::NativeTable’ must be brace-enclosed
[build] 102 | TableKeyT key { std::string(sym), std::string(ex), std::string("") };
[build] | ^~~
由于TableKeyT
继承了NativeTable
,你还需要初始化基class,但由于它是一个空的class,所以使用{}
应该没事。
TableKeyT key { {}, std::string(sym), std::string(ex), std::string("") };
//^^^