C++ 调用标头中定义但在cpp中实现的构造函数

C++ 调用标头中定义但在cpp中实现的构造函数,c++,C++,我想创建一个类为SetHinzufuegen的对象,并给它一个列表框作为参数。应该这样使用:我有另一个类,它有一个成员列表框a。我用这个列表框A作为参数创建了一个类SetHinzufuegen的对象,这样我就可以从那里编辑A。 如何调用构造函数? 此外,我的类继承自带有#include的Dialog,并使用带有DialogDS\u窗口的资源GUI.dll GUI.h: class SetHinzufuegen():public Dialog { public: SetHinzufuege

我想创建一个类为
SetHinzufuegen
的对象,并给它一个列表框作为参数。应该这样使用:我有另一个类,它有一个成员
列表框a
。我用这个
列表框A
作为参数创建了一个类
SetHinzufuegen
的对象,这样我就可以从那里编辑
A
。 如何调用构造函数? 此外,我的类继承自带有
#include
的Dialog,并使用带有Dialog
DS\u窗口的资源GUI.dll

GUI.h:

class SetHinzufuegen():public Dialog
{
public:
    SetHinzufuegen(ListBox);
    ListBox setWithVariablesListInputToWrite;
GUI.cpp:

SetHinzufuegen::SetHinzufuegen(setWithVariablesListInput):Dialog(DS_Window, "GUI");
{
    InputToEdit = setWithVariablesListInput;
    InitMsgMap();
}
我在构造函数的函数声明中遇到语法错误,因为我不理解这里的概念

这样,通过在一个类中声明和实现,它可以工作:

class SetHinzufuegen : public Dialog
    {
    public:
        SetHinzufuegen(ListBox setWithVariablesListInput) : Dialog(DS_Window, "GUI")
        {
            inputToEdit = setWithVariablesListInput;
            InitMsgMap();
        }

        ListBox setWithVariablesListInputToWrite;
这里我用

SetHinzufuegen SetDlg(setWithVariablesList);

我需要在头声明或cpp实现中更改什么?

您缺少构造函数参数类型,并且有一个虚假的
。你需要

SetHinzufuegen::SetHinzufuegen(ListBox setWithVariablesListInput) 
: Dialog(DS_Window, "GUI")
{
    InputToEdit = setWithVariablesListInput;
    InitMsgMap();
}

请注意,您不一定要复制
列表框
。如果没有,则使用
const
引用参数。

缺少构造函数参数类型,并且有一个伪
。你需要

SetHinzufuegen::SetHinzufuegen(ListBox setWithVariablesListInput) 
: Dialog(DS_Window, "GUI")
{
    InputToEdit = setWithVariablesListInput;
    InitMsgMap();
}

请注意,您不一定要复制
列表框
。如果没有,则使用
const
引用参数。

缺少构造函数参数类型,并且有一个伪
。你需要

SetHinzufuegen::SetHinzufuegen(ListBox setWithVariablesListInput) 
: Dialog(DS_Window, "GUI")
{
    InputToEdit = setWithVariablesListInput;
    InitMsgMap();
}

请注意,您不一定要复制
列表框
。如果没有,则使用
const
引用参数。

缺少构造函数参数类型,并且有一个伪
。你需要

SetHinzufuegen::SetHinzufuegen(ListBox setWithVariablesListInput) 
: Dialog(DS_Window, "GUI")
{
    InputToEdit = setWithVariablesListInput;
    InitMsgMap();
}

请注意,您不一定要复制
列表框
。如果没有,则使用
const
引用参数。

挑剔:您的构造函数没有在标头中定义-它是声明的。它是在.cpp模块中定义的。好的,仍然习惯于命名。THX挑剔:您的构造函数没有在标题中定义-它是声明的。它是在.cpp模块中定义的。好的,仍然习惯于命名。THX挑剔:您的构造函数没有在标题中定义-它是声明的。它是在.cpp模块中定义的。好的,仍然习惯于命名。THX挑剔:您的构造函数没有在标题中定义-它是声明的。它是在.cpp模块中定义的。好的,仍然习惯于命名。错误仍然存在。。。(注意:我以前在一些行中将
setWithVariablesListInput
定义为类型
列表框
,所以我不需要在构造函数中命名它的类型,对吗?)复制本身并不是最好的主意,但我不想让它变得更复杂,复制适用于第三个代码示例。我不明白这个错误…@user2366975当我说“你缺少构造函数参数类型”时,我是认真的。无论如何,您应该发布一个重现您的问题的最小代码示例,并说明您遇到的错误。如果我使用自己的资源文件,如何发布一个工作示例?我认为阻止它工作的其他原因是
类SetHinzufuegen():public Dialog中的两个括号。如果删除它们,编译器将停止在不同的代码行。错误仍然存在。。。(注意:我以前在一些行中将
setWithVariablesListInput
定义为类型
列表框
,所以我不需要在构造函数中命名它的类型,对吗?)复制本身并不是最好的主意,但我不想让它变得更复杂,复制适用于第三个代码示例。我不明白这个错误…@user2366975当我说“你缺少构造函数参数类型”时,我是认真的。无论如何,您应该发布一个重现您的问题的最小代码示例,并说明您遇到的错误。如果我使用自己的资源文件,如何发布一个工作示例?我认为阻止它工作的其他原因是
类SetHinzufuegen():public Dialog中的两个括号。如果删除它们,编译器将停止在不同的代码行。错误仍然存在。。。(注意:我以前在一些行中将
setWithVariablesListInput
定义为类型
列表框
,所以我不需要在构造函数中命名它的类型,对吗?)复制本身并不是最好的主意,但我不想让它变得更复杂,复制适用于第三个代码示例。我不明白这个错误…@user2366975当我说“你缺少构造函数参数类型”时,我是认真的。无论如何,您应该发布一个重现您的问题的最小代码示例,并说明您遇到的错误。如果我使用自己的资源文件,如何发布一个工作示例?我认为阻止它工作的其他原因是
类SetHinzufuegen():public Dialog中的两个括号。如果删除它们,编译器将停止在不同的代码行。错误仍然存在。。。(注意:我以前在一些行中将
setWithVariablesListInput
定义为类型
列表框
,所以我不需要在构造函数中命名它的类型,对吗?)复制本身并不是最好的主意,但我不想让它变得更复杂,复制适用于第三个代码示例。我不明白这个错误…@user2366975当我说“你缺少构造函数参数类型”时,我是认真的。无论如何,您应该发布一个重现您的问题的最小代码示例,并说明您遇到的错误。如果我使用自己的资源文件,如何发布一个工作示例?我认为阻止它工作的其他原因是
类SetHinzufuegen():public Dialog中的两个括号。如果删除它们,编译器将停止在不同的代码行。谢谢