以下代码使用 g++ 4.7.1 编译,但不是 clang 3.1
struct A
{
int foo();
};
int A::foo() __restrict
{
return 0;
}
int main(int argc, char * argv[])
{
A a;
return a.foo();
}
铿锵支持__restrict
吗?还是使用特定的语法?
以下代码使用 g++ 4.7.1 编译,但不是 clang 3.1
struct A
{
int foo();
};
int A::foo() __restrict
{
return 0;
}
int main(int argc, char * argv[])
{
A a;
return a.foo();
}
铿锵支持__restrict
吗?还是使用特定的语法?
我手头没有 clang 3.1,但是在 clang 4.1 下,我收到了这个错误:
t.cpp:6:8: error: out-of-line definition of 'foo' does not match any declaration
in 'A'
int A::foo() __restrict
^~~
t.cpp:3:7: note: member declaration nearly matches
int foo();
^
1 error generated.
如果我将声明更改为以下内容,clang 4.1 将成功编译它A::foo
:
int foo() __restrict;