c++ - 为什么我收到错误消息 : "restrict" not allowed?

标签 c++ cuda compiler-errors restrict-qualifier

我正在编写一个 CUDA 内核并且想要__restrict__ 我的一些参数。我收到错误消息:

"restrict" is not allowed

某些变量类型是不允许的吗?对于某些参数组合?因为一些编译器标志?因为我一直很淘气?

简化的内核签名:

template <typename T> foo(
    const T a[],
    __restrict__ SomeType b[],
    const T c
) {
    /* etc. */
}

最佳答案

您只能在指针类型上使用 __restrict__。这也是 __restrict__ 有意义的唯一上下文。

关于c++ - 为什么我收到错误消息 : "restrict" not allowed?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20378528/

相关文章:

c++ - 复制静态 union 成员的地址会给出不正确的地址

c++ - 使用 QtDesigner 创建的 QWidget 添加到 QToolBar 时不可见

c++ - 使用 vector 用 C++ 求解埃拉托色尼筛法并收到异常错误消息

cuda - 'code=sm_X' 是否仅嵌入二进制(cubin)代码,或 PTX 代码,或两者?

linux - 计算常量时出现范围检查错误

c++ - 如何允许用户用字符替换数字 - Tic-Tac-Toe C++

cuda - Tensorflow无法打开libcuda.so.1

c - 在 CUDA 中实现固定精度数字

c++ - dev c++编译器错误

python - 验证编译扩展类型的兼容性,并将它们与 cdef 一起使用