gpt4 book ai didi

c++ - 具有前向声明的不完整类型的 unique_ptr 将无法编译

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:38:29 26 4
gpt4 key购买 nike

<分区>

我正在尝试遵循 C++ 的 PIMPL 习惯用法。因此,我创建了一个类 AgeDetect,它将作为我面向用户的界面,并创建了一个包含所有实现的 AgeDetectImpl。我正向声明 AgeDetectImpl 并使用 std::unique_ptr 将其存储为 AgeDetect 的私有(private)成员。我按照 this 中的说明进行操作问题并实现了析构函数,所以我不确定问题出在哪里。

年龄检测.h

#ifndef AGE_DETECT_H
#define AGE_DETECT_H

#include <memory>
#include <opencv2/opencv.hpp>

class AgeDetect {
class AgeDetectImpl;
std::unique_ptr<AgeDetectImpl> m_ageDetectImplPtr = nullptr;
public:
AgeDetect(std::string token);
~AgeDetect();

std::string getAge(std::string imagepath);
std::string getAge(uint8_t* buffer, size_t rows, size_t cols);
std::string getAge(const cv::Mat& image);
};


#endif

年龄检测.cpp

#include "ageDetect.h"
#include "ageDetectImpl.h"

AgeDetect::~AgeDetect() = default;

AgeDetect::AgeDetect(std::string token) {
//m_ageDetectImplPtr = std::make_unique<AgeDetectImpl>(token);
}

错误信息

 error: invalid application of ‘sizeof’ to incomplete type ‘AgeDetect::AgeDetectImpl’
static_assert(sizeof(_Tp)>0,

编辑固定头球后卫

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