gpt4 book ai didi

c++ - 函数参数没有类型

转载 作者:行者123 更新时间:2023-11-30 02:30:32 24 4
gpt4 key购买 nike

我在 OpenVDB 中遇到了以下代码文档:

template<typename _RootNodeType>
class Tree: public TreeBase
{
...
template<typename OtherTreeType>
Tree(const OtherTreeType& other,
const ValueType& inactiveValue,
const ValueType& activeValue,
TopologyCopy): // <-- this looks weird
TreeBase(other),
mRoot(other.root(), inactiveValue, activeValue, TopologyCopy())
{
}

我之前看到过一个论点 defaults to an int如果没有指定类型,但这里可能是这种情况吗? TopologyCopy 在下面的 2 行中作为运算符被调用。

上述声明的作用/含义是什么?

编辑:接受的答案解释了正在发生的事情。解决方案是将函数调用为

openvdb::Tree newTree(oldTree, inactiveValue, activeValue, TopologyCopy());

最佳答案

这不是没有类型的参数。这是一个没有名字的论点。它的类型是TopologyCopy。而 TopologyCopy() 默认构造一个该类型的对象并将其传递给 mRoot 的构造函数。如果非要我猜的话,我会说他们可能在此处使用标签分派(dispatch)来在具有其他相同参数的不同构造函数之间进行选择。

关于c++ - 函数参数没有类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38516128/

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