c/c++中struct问题,我把c写的struct放到c++中错误了,语法错误,怎么改呢?

#define DATA_SIZE_MAX 5000
#define PACKET_SIZE_MAX 512

struct MsgRx {
uint16_t TotalLength;
uint8_t Command;
uint8_t Stamp;
uint8_t Data[DATA_SIZE_MAX];
uint8_t State;
uint16_t CurrentLength;
bool Valid;
};

static struct MsgRx MessageRx ={
.TotalLength = 0,
.Command = 0,
.Stamp = 0,
.Data = {0},
.State = 0,
.CurrentLength = 0,
.Valid = false
};

>d:\updata\udprocscomm完善跳转15\udprocscomm完善跳转15\udprocscomm\find.cpp(42): error C2143: 语法错误 : 缺少“}”(在“.”的前面)
1>d:\updata\udprocscomm完善跳转15\udprocscomm完善跳转15\udprocscomm\find.cpp(42): error C2143: 语法错误 : 缺少“;”(在“.”的前面)
1>d:\updata\udprocscomm完善跳转15\udprocscomm完善跳转15\udprocscomm\find.cpp(42): error C2059: 语法错误:“.”
1>d:\updata\udprocscomm完善跳转15\udprocscomm完善跳转15\udprocscomm\find.cpp(45): error C2143: 语法错误 : 缺少“;”(在“{”的前面)
1>d:\updata\udprocscomm完善跳转15\udprocscomm完善跳转15\udprocscomm\find.cpp(45): error C2447: “{”: 缺少函数标题(是否是老式的形式表?)
1>d:\updata\udprocscomm完善跳转15\udprocscomm完善跳转15\udprocscomm\find.cpp(45): error C2059: 语法错误:“,”
1>d:\updata\udprocscomm完善跳转15\udprocscomm完善跳转15\udprocscomm\find.cpp(49): error C2143: 语法错误 : 缺少“;”(在“}”的前面)
1>d:\updata\udprocscomm完善跳转15\udprocscomm完善跳转15\udprocscomm\find.cpp(49): error C2059: 语法错误:“}”
========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========

static struct MsgRx MessageRx ={
.TotalLength = 0,
.Command = 0,
.Stamp = 0,
.Data = {0},
.State = 0,
.CurrentLength = 0,
.Valid = false
};
不要用.作为变量名的开头。建议用下划线_____________________追问

语法错误。

追答

什么语法错误?

温馨提示:内容为网友见解,仅供参考
无其他回答

c\/c++中struct问题,我把c写的struct放到c++中错误了,语法错误,怎么改呢...
static struct MsgRx MessageRx ={ .TotalLength = 0,.Command = 0,.Stamp = 0,.Data = {0},.State = 0,.CurrentLength = 0,.Valid = false };不要用.作为变量名的开头。建议用下划线___

为什么我c++中用strcmp会出错啊?!放到编译器里面出错,求指教!谢谢!
using namespace std;这也太混乱了。include <iostream> include <stdio> include <cstring> using namespace std;这是VS2010的写法 include <iostream.h> include <stdio.h> include <cstring.h> 这是VC6的写法,你要选择一个,不要混着用啊,呵呵 ...

c语言strcpy将一个结构体的数据复制到另一个后,出问题了
system("***"); 可以调用一些命令行,如cls 清屏 ,pause 暂停 还可以创建进程等等。好像差不多没了,其他东西基本都是C语言知识了 PS:其实C++的类和C语言的结构体非常相似,类可以定义函数接口,但是结构体不行 其实我们在结构体中也可以变相的实现定义函数的嘛,比如定义一个函数指针变量。唯一...

C++struct问题
A里面 ,struct TTT可以定义结构变量的,它说不能,这是不正确的 B里面, TTT是结构标签,不是类型,struct TTT才是类型,TTT不是struct类型的变量,而是struct类型的标签。不正确。C里面,CIN是结构类型的别名,可以定义结构变量,正确。D里面,CIN是结构类型的别名,不是变量,不正确。于是选C。

C\/C++中struct,typedef声明的“过程”问题。
指针是两个变量,一个是指针本身,一个是指向的对象。你声明结构体的时候里面有个指针,不管指什么,实例化的时候总能够开辟出内存来,指针就是4字节,指针前面的类型在声明的时候没有什么用,只有在解引用的时候才有用,所以声明的时候指不指向自身没有区别。但是不能定义该类的对象,类还没有定义就...

C++ 中struct具体是什么意思
定义一个c\/c++中的一个结构体,所谓结构体(struct)是由一系列具有相同类型或不同类型的数据构成的数据集合,也叫结构。如: struct data { int a; float b; }; 结构体和其他类型基础数据类型一样,例如int类型,char类型 只不过结构体可以做成你想要的数据类型.在实际项目中,结构体是大量存在的。

C++ struct定义的类型,用在尖括号<>里报错
你这样定义,使用的时候需要是LinkedStack<struct Positon> *path;你想像你那样用,就 typedef struct Position { int row;int col;} Position;

c++ 结构体struct中的数组 初始化?
数组不能通过数组名进行等号赋值;赋值需要一个一个元素进行,因为数组名是一个const指针,不能更改。

使用C语言的struct来实现C++的class
但需要注意宏的嵌套限制和继承链中的成员顺序问题。最后,虽然C语言中的`struct`模拟类的方法存在一些限制,如成员函数的非内联特性,但这仍然是一种实现类功能的解决方案。尽管这种方法可能不如直接使用C++的`class`那样直观和高效,但它在特定场景下仍具有一定的实用价值。

C++中编译一直出现错误Compiling...Error spawning cl.exe路径是(D...
方法如下:打开vc界面 点击VC“TOOLS(工具)”—>“Option(选择)”—>“Directories(目录)”重新设置“Excutable Fils、Include Files、Library Files、Source Files”的路径。很多情况可能就一个盘符的不同 (例如你的VC装在C,但是这些路径全部在D),改过来就OK了。如果你是按照初始路径安装vc6....

相似回答