0
基本上我想创建一个宏说是否可以创建一个宏来在C/C++中创建一致的函数声明?
DECLARE_FUNC(name, arg1)
这将定义函数的名称和参数的名称。
我曾试图做以下,但未能
#define DECLARE_FILTER_FUNC(fname, arg1) (PointCloud<PointXYZ>::Ptr fname(PointCloud<PointXYZ>::Ptr arg1))
然后我定义的功能,例如
DECLARE_FILTER_FUNC(filterStatOutlierRemoval, inputCloud)
{
return inputCloud;
}
我期待它扩大到
PointCloud<PointXYZ>::Ptr orcFilterStatOutlierRemoval(PointCloud<PointXYZ>::Ptr inputCloud)
{
return inputCloud;
}
当我编译我得到
error: expected constructor, destructor, or type conversion before ‘(’ token
我不知道我在做什么错,但我想要做的是声明一组过滤函数都具有相同的声明,所以我可以将它们作为函数指针传递给更通用的功能。
为什么你用圆括号包装定义? –
你应该在查询之前查看预处理器输出。 – chris
是的,我应该有。谢谢你提醒我。我很少发现需要。 – penguin4hire