【发布时间】:2012-11-05 05:59:01
【问题描述】:
我通过这样做成功地在两个 float4 之间创建了一个 operator+:
__device__ float4 operator+(float4 a, float4 b) {
// ...
}
但是,如果另外,我想为 uchar4 提供一个 operator+,通过对 uchar4 执行相同的操作,我会收到以下错误: "错误: 多个重载函数 "operator+" 实例具有 "C" 链接" "
当我声明多个具有相同名称但参数不同的函数时,我会收到类似的错误消息。 所以,两个问题:
- 多态性:在 Cuda 中是否可以有多个具有相同名称和不同参数的函数?如果是这样,为什么我会收到此错误消息?
-
operator+ for float4:似乎这个功能已经包含在“cutil_math.h”中,但是当我包含它时(
#include <cutil_math.h>)它抱怨没有这样的文件或目录......我应该做些什么特别的事情?注意:我使用的是 pycuda,它是 python 的 cuda。
谢谢!
【问题讨论】: