可能重复:
限制关键字在C++中是什么意思?
我正试图在OS X 10.8.2上安装QMCPACK,但我遇到了很多这样的错误:
bspline_base.h:95:17: error: expected ';' at end of declaration list
void *restrict coefs;
^
;
我不熟悉restrict关键字,但我觉得这可能是其他类型的问题,因为这是一个为其他人编译的流行代码。
以下是该代码的完整上下文:
typedef struct
{
spline_code sp_code;
type_code t_code;
void *restrict coefs;
} Bspline;
restrict
不是标准C++中的关键字。该代码只能在支持restrict
扩展的编译器中进行编译。
restrict
是C99中的关键字。因此,如果您使用C99编译器,它会正常工作。
restrict
仅在C模式下可用。clang++
将需要__restrict
—将-Drestrict=__restrict
添加到编译器标志中。