Возможный дубликат:
Что означает ключевое слово restrict в C ++?
Я пытаюсь установить QMCPACK на OS X 10.8.2, и я получаю много ошибок, как это:
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
на флаги компилятора.