rshift = ((J[i]-1)*((2*net)-J[i]) >> -1);
L[i] = rshift + K[i]-J[i];
当我编译这个时,我得到与第一行相对应的“错误:表达式必须具有整数或枚举类型”。除了 'i' 都具有双精度。
它既不适合左移也不适合右移。我正在使用 Fedora 12,并且我有 nvcc 3.2,V0.2.1221。对于 c++(g++ 编译器),它可以完美运行。
但是当我尝试它时
rshift = ((J[i]-1)*((2*net)-J[i]) >>= -1);
L[i] = rshift + K[i]-J[i];
这是“错误:表达式必须是可修改的左值”我尝试了很多但无法修复它。有任何想法吗?