使用限制关键字时出错
在以下示例中:
void foo (double *ptr)
{
const double * restrict const restr_ptr=ptr;
}
我收到此错误:
error: expected a ";" const double * restrict const restr_ptr=ptr;
^
我使用 gcc 3.4 使用 -std=c99 进行编译
有什么想法吗?
In the following example:
void foo (double *ptr)
{
const double * restrict const restr_ptr=ptr;
}
I get this error:
error: expected a ";" const double * restrict const restr_ptr=ptr;
^
I compile with -std=c99, using gcc 3.4
Any Ideas?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
在 C++ 中,
restrict
不是关键字( 除外) Microsoft 扩展)。它并不意味着它在 C 中的作用。看起来好像您试图将 C99 模式应用于您的 C++ 编译器。使用C编译器来编译C代码,使用C++编译器来编译C++。两种语言都不是另一种语言的子集。In C++,
restrict
is not a keyword (except for Microsoft extensions). It doesn't mean what it does in C. It looks as though you tried to apply C99 mode to your C++ compiler. Use a C compiler to compile C code, and use a C++ compiler to compile C++. Neither language is a subset of the other.