我最初询问编译包含<algorithm>
的代码时出现的错误,但是通过添加标志-std=c++14
解决了这个问题,例如nvcc -std=c++14 test1.cu
。然而,现在在包含来自<thrust>
的内容时,我得到了相同的错误消息。
#include <algorithm>
#include <thrust/extrema.h> // code compiles without this
int main(){
return 0;
}
错误信息是:
/usr/include/c++/11/bits/std_function.h:435:145: error: parameter packs not expanded with ‘...’:
435 | function(_Functor&& __f)
| ^
/usr/include/c++/11/bits/std_function.h:435:145: note: ‘_ArgTypes’
/usr/include/c++/11/bits/std_function.h:530:146: error: parameter packs not expanded with ‘...’:
530 | operator=(_Functor&& __f)
| ^
/usr/include/c++/11/bits/std_function.h:530:146: note: ‘_ArgTypes’
这里有什么问题?
我使用以下版本。
- Ubuntu 22.04.1 LTS - Cuda编译工具,版本11.5,V11.5.119 - gcc(Ubuntu 11.3.0-1ubuntu1~22.04)11.3.0 - g++(Ubuntu 9.5.0-1ubuntu1~22.04)11.3.0