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

相反,如果我们在U​​ppaal中写同样的语句,我们会得到wrong number of elements in array initialiser错误,我们需要像下面这样完全初始化一个数组:

int arr[5] = {1,2,3,0,0};

这意味着你需要用它的大小(不小于)来初始化数组。