Ошибка компилятора с использованием ключевого слова restrict

Возможный дубликат:
Что означает ключевое слово 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;

0

Решение

restrict это не ключевое слово в стандарте C ++. Код будет компилироваться только в компиляторе, который поддерживает restrict расширение.

restrict является ключевое слово в C99. Так что если вы используете C99 компилятор это будет работать нормально.

2

Другие решения

restrict доступно только в режиме C. clang++ понадобится __restrict — добавлять -Drestrict=__restrict на флаги компилятора.

0

По вопросам рекламы [email protected]