我正在Windows上移植一个linux代码而且我一直在处理数据包样式结构的初始化..
这里是protocol.h的原始代码:
struct header
{
uint8_t type;
uint8_t ext;
uint8_t seqno;
uint8_t notused
};
struct packet
{
struct header head;
packet(uint8_t t, uint8_t e, uint8_t s) : head( { t, e, s, 0 } ) <== Error here
{ }
};
用: 错误C2059:语法错误:')' 错误C2447:'{':缺少函数头(旧式正式列表?)
你能告诉我一些建议吗?
非常感谢
的Seb
答案 0 :(得分:0)
在我看来,最简单的方法就是在struct header
中添加一个构造函数:
struct header
{
uint8_t type;
uint8_t ext;
uint8_t seqno;
uint8_t notused;
header(uint8_t t, uint8_t e, uint8_t s, uint8_t n)
: type(t), ext(e), seqno(s), notused(n)
{ }
};
struct packet
{
header head;
packet(uint8_t t, uint8_t e, uint8_t s) : head(t, e, s, 0)
{ }
};