designated-initializer相关内容
当我阅读C++ reference时,我对这一段有一个问题: 注意:无序指定初始化,嵌套指定 初始化、指定的初始值设定项和规则的混合 初始化式,数组的指定初始化都是 在C编程语言中支持,但在C++中不允许。 是否存在阻止C++支持无序指定初始化的技术原因? 推荐答案 是的,其基本原理已在附件C(参考资料)中介绍 兼容性具体[diff.dcl]p10(重点挖掘): 受影
..
在 C99(而不是 C++)中,可以使用以下语法初始化结构: 结构信息{字符名称[8+1];整数空间;整数类型;};结构信息 arr[] ={[0] = { .sz = 20, .name = "abc" },[9] = { .sz = -1, .name = "" }}; 未指定的字段会发生什么? 解决方案 它们归零.来自 C99 标准§6.7.8 (Initialization)/
..
此代码在第一个 XCode 6 Beta 上工作,但在最新的 Beta 上它不工作并给出这样的错误必须调用超类 SKSpriteNode 的指定初始化程序: 导入SpriteKit类生物:SKSpriteNode {var isAlive:Bool = false {设置{self.hidden = !isAlive}}var livingNeighbours:Int = 0在里面() {//t
..
我无法向以下 UIViewController 类添加 init 方法.我需要在 init 方法中编写一些代码.我必须编写 init(coder) 方法吗?即使我添加了编码器和解码器方法,我仍然会出错.我也尝试使用不带任何参数的 init 方法,但这似乎也不起作用. class ViewController: UIViewController {var tap:UITapGestureRecog
..
使用 VS2013 Update 2,我偶然发现了一些奇怪的错误消息: //test.cint main(void){结构 foo {国际我;浮动 f;};结构栏{未签名的你;结构 foo foo;双d;};结构 foo some_foo = {.i = 1,.f = 2.0};结构栏 some_bar = {.u = 3,//错误 C2440 : 'initializing' : 无法从 'f
..
有什么方法可以找出Xcode中超类中指定的初始化程序? 我输入 super().init.. 然后,Xcode 显示超类的所有初始值设定项.我想知道是否有任何标志或符号可以指出哪个是指定的? 也是一个简单的问题.子类中的指定构造器(DI)只能调用超类中的便利构造器(CI),因为超类中的 CI 最终会调用超类中的 DI.如果我错了,请纠正我,谢谢. 解决方案 在 Swift 中,任何
..
我知道这可能是一个基本问题. 我有一项任务要求我了解 C 中的指定初始值设定项是什么以及用 1 来初始化变量意味着什么. 我不熟悉这个术语,也找不到任何决定性的定义. 什么是 C 中的指定初始值设定项? 解决方案 指定的初始化器有两种风格: 1) 它提供了一种初始化数组中特定元素的快速方法: int foo[10] = { [3] = 1, [5] = 2 };
..
我有一个自定义 UIView 控制器,想初始化并分配一个我之前分配给 IBOutlet 的自定义 UIView.我正在使用故事板.谁能给我提示在哪里调用自定义 UIView 的指定初始值设定项? **MyCustomUIView.h**@interface MyCustomUIView : UIView@结尾**MyCustomUIView.m**@implementation MyCustom
..
我对一个c ++ 20功能(指定为初始化程序)有疑问(有关此功能的更多信息此处) #includeconstexpr无符号DEFAULT_SALARY {10000};结构人{std :: string name {};std :: string姓氏{};未签名年龄{};};struct雇员:人{未签名的工资{DEFAULT_SALARY};};int main(){st
..
此代码在第一个XCode 6 Beta上有效,但在最新的Beta中它不起作用,并给出了这样的错误 Must call a designated initializer of the superclass SKSpriteNode : import SpriteKit class Creature: SKSpriteNode { var isAlive:Bool = false {
..
我是Swift的新手,在PlacesTableViewController类中声明初始化程序时遇到问题.它提示我“从初始化返回之前未调用Super.init",当我添加Super.init时,它提示我: "必须调用超类的指定初始化程序 'UITableViewController'" 这是我的PlacesTableViewController.swift文件: class Pla
..
我正在创建自己的自定义tableViewCell,然后出现一条错误消息: 'required'初始化程序'init(coder :)'必须由的子类提供 'UITableViewCell' 我查找了它,显然也必须实现它.但这导致我对必需的初始化器和指定的初始化器感到困惑 Apple Docs 说: 必需的初始化程序: 在定义类之前写所需的修饰符 初始化程序,指示该类的每个子
..
一个人可以使用designated initializers,如下所示(对于"billy"而言),没有问题,但是当对动态内存使用相同的初始化方法时,在编译时它将中断. 使用指定的初始化程序有哪些限制? 除了我们要写入的 where (即地址)之外,这两个初始化有何不同?为什么我们不能在动态内存中使用指定的初始值设定项? struct student{ char *name
..
在迁移到C ++时,我需要一个似乎已弃用的特定功能。 对不起,未实现:不支持非平凡的指定初始化器 在内存约束系统中用C ++实现以下数据存储系统的正确方法是什么? typedef union union_t { float f; int i; } arg; typedef struct type_t { int a; arg b; int d; }元
..
指定的初始化程序(C ++ 20)应该如何与CTAD一起使用? 此代码在gcc9.2中可以正常工作,但在clang8中失败 > template struct my_pair { int_t首先; float_t秒; }; template
..
在此问题中,我已经对指定的初始化程序对CTAD感到困惑。 ,但我对另一个非常相似的代码段感到困惑 template struct my_pair { int_t首先; float_t秒; }; template my_pair(ts ...)-
..
我遇到了以下迷宫定义代码: typedef struct mazeNode { int hasCheese; int tag; struct mazeNode *left; struct mazeNode *right; } maze_t; maze_t maze = { .tag = 1, .left = &(maze_t) {
..
当我初始化下面的数组时,除values[3]以外的所有输出都可以.由于某些原因,初始化为values[0]+values[5]的values[3]输出很大的数字.我的猜测是,我试图在values[0]+values[5]正确分配之前将它们分配给内存,但是如果有人可以解释的话,那会很好. int main (void) { int values[10] = { [0
..
我遇到了编译错误: error: convenience initializer missing a 'self' call to another initializer [-Werror,-Wobjc-designated-initializers] 经过编译检查的指定初始值设定项可能是一件好事,但是如果我现在不想处理该问题,我该如何关闭呢? 解决方案 方法1 在您的项目
..
我有以下嵌套的struct定义: typedef struct { int count; float cash; char item[50];//switch between array and pointer for testing initializers //char *item; }Purchase; typedef struct { int
..