Uppaal 中的数组初始化
Array Initialization In Uppaal
我有以下结构:
const int MAX = 6;
typedef struct {
int num1;
int arr1[MAX];
int arr2[MAX];
int num2;
} MyStruct;
然后我像下面这样初始化这个数组:
MyStruct myStruct = {1, {-1}, {2,-1}, 1};
但是对于第一个元素出现以下错误:
Invalid Initialiser
对于第二个元素:
too many elements in initialiser
我应该提到我使用的 Uppaal 版本是 4.1.19
。
那么问题来了,问题出在哪里?
如 Uppaal 文档中所述,一些基本语法是从 C++ 继承的,包括数组初始化。但是,有一个地方不是粗体的区别。假设,我们在 C++ 中有以下数组初始化:
int arr[5] = {1,2,3}; // arr has type int[5] and holds 1,2,3,0,0
相反,如果我们在Uppaal中写同样的语句,我们会得到wrong number of elements in array initialiser
错误,我们需要像下面这样完全初始化一个数组:
int arr[5] = {1,2,3,0,0};
这意味着你需要用它的大小(不小于)来初始化数组。
我有以下结构:
const int MAX = 6;
typedef struct {
int num1;
int arr1[MAX];
int arr2[MAX];
int num2;
} MyStruct;
然后我像下面这样初始化这个数组:
MyStruct myStruct = {1, {-1}, {2,-1}, 1};
但是对于第一个元素出现以下错误:
Invalid Initialiser
对于第二个元素:
too many elements in initialiser
我应该提到我使用的 Uppaal 版本是 4.1.19
。
那么问题来了,问题出在哪里?
如 Uppaal 文档中所述,一些基本语法是从 C++ 继承的,包括数组初始化。但是,有一个地方不是粗体的区别。假设,我们在 C++ 中有以下数组初始化:
int arr[5] = {1,2,3}; // arr has type int[5] and holds 1,2,3,0,0
相反,如果我们在Uppaal中写同样的语句,我们会得到wrong number of elements in array initialiser
错误,我们需要像下面这样完全初始化一个数组:
int arr[5] = {1,2,3,0,0};
这意味着你需要用它的大小(不小于)来初始化数组。