我正在尝试实现Dijkstra算法,首先需要设计一个具有可变数量节点的图结构;为了做到这一点,我需要动态地更改结构数组的大小,并且我想知道是否编写此代码:
if( !(struct s *a = (struct s *)realloc(some_pointer_to_s_struct, new_size*sizeof(struct s))) ) {
return -1; //because that means my pointer is NULL
}
//do something
在C中是正确的,因为根据此帖子:answer to a post on the subject是。
但是,当我尝试更改代码以匹配该模式时,出现很多error: expected ‘)’ before xxx
和其他类似的错误...我以为也许一开始我忘了匹配括号或括号,但是我花了30分钟的时间检查我的代码,但这似乎不是问题。
顺便说一句,您的代码也不是有效的C ++,因为它试图对声明使用否定符。