【发布时间】:2009-09-08 17:59:56
【问题描述】:
在以下示例中:
void foo (double *ptr)
{
const double * restrict const restr_ptr=ptr;
}
我得到这个错误:
error: expected a ";" const double * restrict const restr_ptr=ptr;
^
我使用 -std=c99 编译,使用 gcc 3.4
有什么想法吗?
【问题讨论】:
-
它对我来说编译得很好。你有最新版本的 GCC 吗?
-
该代码在 Sun C 5.8 和 GCC 3.4.6 上为我编译。 Comeau online 只抱怨未使用的变量声明。请提供有关您的环境的更多详细信息。
-
...但 Comeau 处于 C99 模式。当我将它置于 C++ 模式时,它会抱怨同样的事情。
-
我应该在我的上一条评论中更具体地说明“同一件事”的含义。在 C++ 模式下,Comeau 说它需要一个分号,就像 Enigma 的编译器一样。
-
那不是有效的 C++ 代码,因此它不能在 C++ 模式下工作。 restrict 仅限于 C99。
标签: c++ c optimization restrict-qualifier