gpt4 book ai didi

C++:传递 "typedef"定义的类作为参数

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

我正在创建一个实例 Dataset::Ptr 数据,然后我需要将这个实例传递给另一个方法,但我在将“数据”作为参数传递时遇到了问题。

Dataset类定义如下:

//Definition of "Dataset" class in Datset.h
class Dataset : public Objects
{
public:
typedef boost::shared_ptr<Dataset> Ptr;

...

void foo();

在我实例化“数据集”对象的类中:

void doWork(Dataset::Ptr* ds)
{
ds->foo();------>Here I get the error that foo is not defined. ds doesnt have any
}

void Function(){
Dataset::Ptr* ds;
....do something with ds....
doWork(&ds);
}

错误是boost::shared_ptr不能改成Dataset::Ptr。

我做错了什么?如何正确传递实例?

谢谢

最佳答案

Dataset::Ptr已经是一个指针,Dataset::Ptr*表示 boost::shared_ptr<Dataset>* Ptr ;<强> ds变成一个指针 to boost::shared_ptr 没有 foo()函数定义。

更新

void doWork(Dataset::Ptr* ds)

void doWork(Dataset::Ptr ds)

关于C++:传递 "typedef"定义的类作为参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19835469/

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