在另一个 class 中调用一个 class 的构造函数

calling constructor of a class in another class

我在 qt 中有两个 classes 命名为 info 和 i2。 info 是 c++ class,i2 是 Qt designer from class。我想使用 i2 作为测试我的信息的环境 class。
我在 i2.my 的 header 中包含了 info.h 信息 class 有两个构造函数,如下所示:

info();
info(const void *ip, const char* pw, const void *hostName);

现在我想在 i2 class 中创建一个 object 信息并将这三个参数(ip 和 pw 以及主机名)传递给信息并在我的程序中使用它们。如下所示:

private:
    Ui::i2 *ui;
    info inf("172.30.6.91", "mypw", "heydari.f");

这不起作用。我收到这些错误:

/home/heydari.f/i1/i2.h:48: error: expected identifier before string constant
     info inf("172.30.6.91", "mypw", "heydari.f");
              ^~~~~~~~~~~~~

和:

/home/heydari.f/i1/i2.h:48: error: expected ‘,’ or ‘...’ before string constant

我的信息classheader:

#ifndef INFO_H
#define INFO_H
#include <fstream>
#include <vector>
#include <libssh/libssh.h>

class info
{
private:

    ssh_session my_ssh_session = ssh_new();
    const void* _hostName;
    const void* _ip;
    const char* _password;

public:
    info();
    info(const void *ip, const char* pw, const void *hostName);
    ~info();
    //some another functions

};

#endif // INFO_H#ifndef KERNEL_H

我的i2classheader:

#ifndef I2_H
#define I2_H
#include <QDialog>
#include "info.h"

namespace Ui {
class i2;
}

class i2 : public QDialog
{
    Q_OBJECT

public:
    explicit i2(QWidget *parent = 0);
    ~i2();

private slots:
//some push button functios

private:
    Ui::i2 *ui;
    info inf;

};

#endif // I2_H

使用 braced-init-list:

info inf{"172.30.6.91", "mypw", "heydari.f"};