gpt4 book ai didi

Cuda 生成的 VC++ 解决方案上的 Boost 错误(错误 C2675)

转载 作者:行者123 更新时间:2023-12-02 10:47:10 27 4
gpt4 key购买 nike

我在 Visual Studio 中创建了一个 Cuda 5 项目 (VC++),我想使用 boost chrono API。当我包含 boost/chrono.hpp ,我有以下错误:

Error   89  error C2675: unary '-' : 'T' does not define this operator or a conversion to a
type acceptable to the predefined operator D:\StandaloneApp\Library\Vc\boost_1_52_0\boost\ratio\detail\mpl\abs.hpp
68 1 ThrustCompareSoaAndAos

第 68 行附近的代码块:
#if defined(BOOST_MPL_CFG_NO_NESTED_VALUE_ARITHMETIC_2)
namespace aux {
template< typename T, T n > struct abs_wknd
{
BOOST_STATIC_CONSTANT(T, value = (n < 0 ? -n : n));
typedef integral_c<T,value> type; // line 68
};
}
#endif

是什么导致了这个错误?

最佳答案

我改变了这一行:
BOOST_STATIC_CONSTANT(T, value = (n < 0 ? -n : n));

BOOST_STATIC_CONSTANT(T, value = (n < 0 ? (n * -1) : n));

这符合要求。

关于Cuda 生成的 VC++ 解决方案上的 Boost 错误(错误 C2675),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14155172/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com