gpt4 book ai didi

c++ - 结构作为构造函数参数(在 main 中声明)

转载 作者:太空宇宙 更新时间:2023-11-04 16:18:18 25 4
gpt4 key购买 nike

我在主 (不要介意成员!) 中声明了以下结构:

struct args
{
std::vector<string> names;
std::vector<std::shared_ptr<RegularExpression>>vreg;
std::vector<string> stopFile;
std::vector<string> groundTruth;
int debug;
};

我有一个将 args 作为构造函数参数的类验证

#ifndef VERIFICATION_H
#define VERIFICATION_H

class Verification
{
public:
Verification(std::string, std::vector<double>,double,args);
private:
args _A;

}
#endif // VERIFICATION_H

现在主要是:

struct args
{
std::vector<string> names;
std::vector<std::shared_ptr<RegularExpression>>vreg;
std::vector<string> stopFile;
std::vector<string> groundTruth;
int debug;
};
int main()
{
Verification v("res.cr",gt, 0.75,A);
return 0;
}

我有以下编译错误:

  1. Verification.h|33|错误:“args”没有命名类型| (此错误是针对_A类中的私有(private)成员)
  2. main.cpp|153|错误:没有匹配函数来调用'Verification::Verification(const char [7], std::vector&, double, args&)'|
  3. Verification.h|24|error: 'args' has not been declared|(这个错误是构造函数)

如何将main中声明的结构作为类验证的构造函数参数?

谢谢。

最佳答案

必须以验证类翻译单元可见的方式定义结构。我建议您将该结构移动到它自己的头文件中,并将其#include 到您的主文件和 Verification.h 中。

关于c++ - 结构作为构造函数参数(在 main 中声明),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20095269/

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