gpt4 book ai didi

c++ - 创建对象数组 C++

转载 作者:行者123 更新时间:2023-11-30 04:08:31 26 4
gpt4 key购买 nike

我正在尝试创建一个由 4 个对象组成的数组 (c++),并且我正在使用这种语法,显然有些地方是错误的,但是什么?

for (int octet = 0; octet < 4; octet++) {
cout << "OCTET NO." << octet << endl;
cout << "IP: "; cin >> ip;
cout << "Subnet: "; cin >> subnet;

networkOctet[octet] = networkOctet(ip, subnet); //The line where the problem is

}

感谢您的帮助!

!-- 更新 --!

好吧,所以我将代码更改为这个,但现在它说“没有匹配的构造函数来初始化'networkOctet [4]'”......我有一个构造函数,它被声明,定义并且在不是在数组中。

更新代码:

int ip;

int subnet;

networkOctet networkOctetObject[4];

for (int octet = 0; octet < 4; octet++) {
cout << "OCTET NO." << octet << endl;
cout << "IP: "; cin >> ip;
cout << "Subnet: "; cin >> subnet;
if (octet == 3) {
networkOctetObject[octet] = networkOctet(ip, subnet, true);
}
else {
networkOctetObject[octet] = networkOctet(ip, subnet, false);
}
}

最佳答案

我怀疑你在 decltype(networkOctet) 类型上同时重载了 [](),所以问题是你将名称视为变量 networkOctet[octet] 和类型 networkOctet(ip, subnet)。如果您的 X[4] 类型的变量被命名为 y,您将使用以下语法使其工作:

y[octet] = X(ip, subnet);

其中 y 本身被声明为 X y[4]

关于c++ - 创建对象数组 C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21786301/

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