编译器错误,涉及restrict关键字



可能重复:
限制关键字在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扩展的编译器中进行编译。

restrictC99中的关键字。因此,如果您使用C99编译器,它会正常工作。

restrict仅在C模式下可用。clang++将需要__restrict—将-Drestrict=__restrict添加到编译器标志中。

最新更新