首页 > 解决方案 > C++ 头文件中的结构定义不明确

问题描述

我对 C++ 比较陌生,来自 Python 背景。我有以下头文件:

struct Example 
{
 int n_example;
 float random_number;
 float second_random_number;

 Example(int n_example, float random_number, float second_random_number);
};

我不明白倒数第二行的作用(即,Example(int n_example, float random_number, float second_random_number);

可能是一个超级愚蠢的问题,但这是我第一次在 C++ 中遇到这种语法。实际上,通常对于结构定义,我习惯于:

struct Example 
    {
     int n_example;
     float randon_number;
     float second_random_number;
    };

标签: c++

解决方案


这里

 Example(int n_example, float random_number, float second_randon_number);

是构造函数的声明,你可以调用它并在每次你想构造一个类的新实例时传递参数……

喜欢

int main()
{
    Example foo(0, 3.14f, 2.77f);
}

您唯一缺少的是该构造函数的实现...

它可能看起来像这样(取决于您使用的 c++ 版本):

Example(int n_example, float random_number, float second_random_number) : 
n_example{n_example}, 
random_number{random_number}, 
second_random_number{second_random_number}, 
{
...
}

推荐阅读