Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >创建对象数组( c++ )

创建对象数组( c++ )
EN

Stack Overflow用户
提问于 2014-02-14 09:57:34
回答 2查看 136关注 0票数 1

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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

        }

谢谢你的帮助!

!-更新-!

好的,所以我把代码改成了这个,但是现在它说“没有与‘networkOctet4’初始化匹配的构造函数”.我有一个构造函数,它被声明、定义并完美地工作在不存在于数组中的对象上。

更新代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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);
    }
}
EN

回答 2

Stack Overflow用户

发布于 2014-02-14 10:04:44

我怀疑您在类型[]上重载了()decltype(networkOctet),所以问题是您将名称同时作为变量networkOctet[octet]和类型networkOctet(ip, subnet)处理。如果X[4]类型的变量名为y,则可以使用以下语法来完成此工作:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
y[octet] = X(ip, subnet);

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

票数 1
EN

Stack Overflow用户

发布于 2014-02-14 10:19:18

只能创建具有默认构造函数的类型数组。如果定义了自己的构造函数,而没有添加默认构造函数,则不能创建此类型的数组,因为编译器在创建数组时尝试对数组中的所有元素(使用默认构造函数)进行值初始化。如果删除默认构造函数,则数组中的元素不能进行值初始化(因为没有默认构造函数),就会出现上述编译器错误。

当编译器看到行时

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
networkOctet networkOctetObject[4];

它尝试创建4个类型为networkOctet的对象。要创建这些对象,必须调用networkOctet的构造函数。在创建数组时,编译器试图调用不可用的默认构造函数。这是发生错误的行。因此,要使代码正常工作,请添加一个默认构造函数

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
networkOctet() {
    // Initialize a networkOctet to a valid default value
}

networkOctet类(注意,这个默认构造函数必须是public)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21786301

复制
相关文章
如何使用mimic在LInux中以普通用户身份来隐藏进程
mimic是一款针对进程隐藏的安全工具,在该工具的帮助下,广大研究人员可以通过普通用户身份来在Linux操作系统(x86_64)上隐藏某个进程的执行。
FB客服
2023/08/08
4460
如何使用mimic在LInux中以普通用户身份来隐藏进程
提示以只读方式打开文件
如果不希望内容审阅者意外修改你的文档,可在发送文档供审阅前将其设为只读。 另一种方法是限制格式和编辑。
MIKE笔记
2023/03/22
1.8K0
提示以只读方式打开文件
在 Azure Application Insights 中记录用户身份信息
Azure Application Insights 是一个非常强大的 APM 工具,用于监视 Web 应用程序。但是,并非我们需要的所有功能都是开箱即用的。例如,为了记录请求和响应正文,我们必须写一个自定义 ASP.NET Core 中间件,就像这篇文章说的那样。
Edi Wang
2021/08/23
1K0
在 Azure Application Insights 中记录用户身份信息
python打开文件
open函数使用一个文件名作为唯一的强制参数,然后返回一个文件对象。假设我要打开我硬盘(I:/python/test.txt) 文件,可以用下面方法:
用户8442333
2021/12/16
3.3K0
python中如何打开csv文件_python如何读取csv文件
python如何读取csv文件,我们这里需要用到python自带的csv模块,有了这个模块读取数据就变得非常容易了。
全栈程序员站长
2022/09/16
7.9K0
python中如何打开csv文件_python如何读取csv文件
Android获取超级用户权限删除文件
获取超级用户权限的windows代码如下: 打开命令提示符,进入sdk\platform-tools文件夹,找到adb.exe。然后输入如下代码:
提莫队长
2019/02/21
1.7K0
用户和组账号概述 Linux基于用户身份对资源访问进行控制 用户帐号: 超级用户root、普通用户、 程序用户 超级用户,即root用户,类似于Windows系统中的Administrator用户
Linux基于用户身份对资源访问进行控制 用户帐号: 超级用户root、普通用户、 程序用户
青灯古酒
2023/10/16
4390
用户和组账号概述 Linux基于用户身份对资源访问进行控制 用户帐号:  超级用户root、普通用户、  程序用户 超级用户,即root用户,类似于Windows系统中的Administrator用户
Mac在文件夹/终端中打开终端/文件夹
如图,想要在终端中到该文件夹,自然而然的办法是cd /usr/share/doc/postfix/html, 但其实还有更简洁的办法,即如上安装Go2Shell或cd to插件
fliter
2023/06/18
1K0
Mac在文件夹/终端中打开终端/文件夹
python自学——文件打开
#文件的打开 新建一个文件new file.txt #方法一:f=open("yesterday","r",encoding="utf-8") # #首先给文件内存变量赋予一个变量F, 通常使用F作为变量名称。使用open函数来打开已有文件 #方法二:现在系统默认字符编码为utf-8 open("yesterday",encoding="utf-8").read() 有待更新,等我学习了字符编码在回来改 open("yesterday",encoding="utf-8").read() #f=ope
py3study
2020/01/19
1.9K0
在linux中打开解压和创建rar文件
RAR 是用于创建和提取压缩存档 (.rar) 文件的最流行的工具。当我们从 Web 下载存档文件时,我们需要一个 rar 工具来提取它们。 RAR是用于创建和提取压缩存档(.rar)文件的最流行的工具。当我们从 Web 下载存档文件时,我们需要一个rar工具来提取它们。 RAR在 Windows 操作系统下可以免费使用来处理压缩文件,但不幸的是rarLinux 系统下未预装该工具。 第 1 步:如何在 Linux 中安装 Unrar $ sudo apt-get install unrar Or $ su
入门笔记
2022/06/02
4.2K0
win文件夹上右键后以xx打开
本文是右键在文件夹上的设置,在文件夹和文件上右键是不一样的. 1.打开注册表 win+r输入regedit打开注册表,找到如下路径(地址栏输入). #路径: 计算机\HKEY_CLASSES_ROOT\Directory\shell 2.增加新项 项可以类比为文件夹 shell上右键 -> 新建 -> 项,名称可以自己设置. shell下面的每个项都有些基本的属性 3.设置菜单名字和菜单图标 一般新建项时,右边只会有个默认,Icon部分需要自己添加(新建字符串值). 如果不设置默认值,项的
玖柒的小窝
2021/09/09
1.8K0
win文件夹上右键后以xx打开
vim打开多个文件、同时显示多个文件、在文件之间切换 打开多个文件:
1.vim还没有启动的时候: 在终端里输入 vim file1 file2 ... filen便可以打开所有想要打开的文件 2.vim已经启动 输入 :open file 可以再打开一个文件,并且此时vim里会显示出file文件的内容。
sunsky
2020/08/19
15.4K0
matlab中importdata无法打开文件_importdata无法打开文件
最近使用importdata函数不能读取全部数据,数据集315行,但是读取了197行,那就是197-198之间有问题,百度之后有了思路。由于没有找到具体的证据,所以这里说一下解决思路。
全栈程序员站长
2022/11/16
6.2K0
matlab中importdata无法打开文件_importdata无法打开文件
以管理员身份修改hosts文件_如何修改hosts文件权限
修改host文件的时候若不是以管理员的身份,无权限修改host中的内容。简单说明如何使用powershell的方法修改host文件。
全栈程序员站长
2022/11/08
7.2K1
以管理员身份修改hosts文件_如何修改hosts文件权限
Mac OS X在终端中打开文件夹窗口
版权声明:如未注明转载,则均为公子原创。原创不
大数据工程师-公子
2019/03/14
3.3K0
.java文件怎么在cmd中运行(以Helloworld为例)
提示:下面这个是有关.java文件怎么在cmd中运行的教程(以win10操作系统为主)
全栈程序员站长
2022/09/01
6.6K0
Runas命令能让域用户/普通User用户以管理员身份运行指定程序
举个例子,你需要用administrator权限启动notepad.exe,你可以写成这样: runas /user:administrator notepad.exe
孙杰
2019/10/29
5.4K0
Kubernetes 中的用户与身份认证授权
本章主要简单阐述 Kubernetes 认证相关原理,最后以实验来阐述 Kubernetes 用户系统的思路。主要内容:
从大数据到人工智能
2023/02/21
2K0
Kubernetes 中的用户与身份认证授权
Python打开文件夹
import osos.system("start explorer c:") #c:为要打开c盘,也可以改成其他路径
py3study
2020/01/06
1.6K0
python基础之文件打开
  Python 是一门易于学习、功能强大的编程语言。它提供了高效的高级数据结构,还能简单有效地面向对象编程。Python 优雅的语法和动态类型以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应用的理想语言。下面我们来介绍一下python的文件打开相关知识。
jiankang666
2022/12/05
7420

相似问题

以超级用户身份从python脚本运行命令

83

无法在DRF中以超级用户身份登录。

15

MariaDB -无法以超级用户身份登录

21

以超级用户身份通过BAT文件运行进程

16

无法以超级用户身份登录mysql

15
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文