为什么这个结构体赋值方法不对呢?该如何解决

为什么这个结构体赋值方法不对呢?
定义了一个结构体变量: COMMTIMEOUTS nTimeOuts;//超时结构块
赋值的时候这样赋值好像不对: nTimeOuts={ // 串口超时控制参数
100, // 读字符间隔超时时间: 100 ms
1, // 读操作时每字符的时间: 1 ms (n个字符总共为n ms)
500, // 基本的(额外的)读超时时间: 500 ms
1, // 写操作时每字符的时间: 1 ms (n个字符总共为n ms)
100};// 基本的(额外的)写超时时间: 100 ms
一个元素一个元素的赋值是可以的,但是嫌麻烦,就采取上面的方法,结构就出错了,很是郁闷,为什么呢?

------解决方案--------------------
结构体定义并初始化的时候可以这样用COMMTIMEOUTS nTimeOut={...},如果你已经定义了该结构体COMMTIMEOUTS nTimeOut,然后再赋值nTimeOut={....}是不允许的。
------解决方案--------------------
探讨
结构体定义并初始化的时候可以这样用COMMTIMEOUTS nTimeOut={...},如果你已经定义了该结构体COMMTIMEOUTS nTimeOut,然后再赋值nTimeOut={....}是不允许的。

------解决方案--------------------
探讨
结构体定义并初始化的时候可以这样用COMMTIMEOUTS nTimeOut={...},如果你已经定义了该结构体COMMTIMEOUTS nTimeOut,然后再赋值nTimeOut={....}是不允许的。

------解决方案--------------------
nTimeOuts={ 。。。}
只能在声明一个结构体并定义一个变量的时候使用
------解决方案--------------------
A xx
{
xx():a(0),b(1)
{
}
int a;
int b;
}