在尝试编译我的 cilk 程序时,我遇到了一个奇怪的语法错误。也许我错过了一些基本的东西,那就是 cilk 的怪癖。每当我使用结构(如下面的代码)时,程序都会产生语法错误。当我取出cilk关键字并正常编译+运行程序时,不会出现此错误。
其他一些可能会提供一些见解的注释是,如果我不尝试分配给结构中的任何变量(如大小),它编译得很好,错误总是显示在结构行下方的行号,但它那个特定的行是什么并不重要,正如我之前提到的,当结构方面被取出时,它编译得很好。
typedef struct StackStruct{
int size;
Link *head;
Link *tail;
Link *prev;
} Stack;
cilk void Iter_tsp(Tour *tour){
Stack *my_stack = (Stack *)malloc(sizeof(Stack));
my_stack->size = 1;
....
}