在我的程序中,我想从 OpenCV 库中初始化一个对象作为我自己对象的一部分。但是,每当我初始化它时,我都会收到此错误:
error: expected parameter declarator
如果我不使用它的构造函数初始化对象,它会起作用,但我需要这样做。此外,我希望以后能够使用该对象的方法用新数据对其进行修改。下面是给我错误的代码类型的一个非常简单的示例。
class test
{
public:
test (int number);
private:
cv::LDA lda(2);
}
最佳答案
如果您使用 c++11,那么您可以在声明的同时进行初始化:
class test {
public:
test (int number);
private:
cv::LDA lda{2};
};
如果不是,那么你必须在ctor定义中使用成员初始化:
class test {
public:
test (int number) : lda(2 /*or number?*/) {…};
private:
cv::LDA lda;
};
关于c++ - 在 C++ 中将对象创建为私有(private)类变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31334680/