cost 365 ms
Variadic 函数最后一个参数类型 - Variadic function last parameter type

我在阅读 C++ 标准时有这个问题,但它基本上只是引用 C 标准,所以我想这个问题适用于两种语言。 来自[cstdarg.syn] 如果参数 parmN 是引用类型,或者是与传递没有参数的参数时产生的类型不兼容的类型,则行为未定义。 我不明白关于“兼容”类型的规则。 兼容类型与 C 中的类型几乎相同 ...

得到错误:不兼容的类型:可能有损转换为类型提升代码的 double 到 float - getting error: incompatible types: possible lossy conversion from double to float for type promotion code

执行以下代码时我不明白错误。 我得到的错误: Main.java:7: 错误: 不兼容的类型: 从 double 到 float float f = 9.987 的可能有损转换; ^ Main.java:9: 错误:类型不兼容:从 double 到 int 的可能有损转换 int res ...

获取 g++ 以警告促销 - get g++ to warn on promotions

是否有编译器标志使 g++ 在促销时发出警告? 我知道 g++ 编译器标志用于转换警告(例如-Wconversion , -Wsign-conversion ),这是有道理的,因为转换可能非常危险,但我不知道类似的标志用于提升警告。 我知道(认为?)促销通常应该是无害的,但在某些情况下,当意外促销出 ...

迁移到 Dart 空安全后出现“无法无条件调用运算符,因为接收器可以为空”错误 - "The operator can’t be unconditionally invoked because the receiver can be null" error after migrating to Dart null-safety

我正在升级基于 Flutter 框架的个人 package。 我在 Flutter 文本小部件源代码中注意到这里有一个 null 检查:if (textSpan != null) { properties.add(textSpan!.toDiagnosticsNode(name: 'textSp ...

使用 == 运算符比较包装类和原语时,类型转换背后的逻辑是什么? - What is the logic behind type conversion when comparing wrapper classes and primitives with == operator?

我读到,当需要多个操作来执行隐式转换( int -> double -> Double或Integer -> int -> double )时,编译器拒绝使用自动装箱/拆箱。 它仍然相当混乱 我的理解是编译器试图用Integer.intValue()解开i 。 由于将In ...

带括号的子表达式的类型提升规则是什么? - What is the type promotion rule for a parenthesized sub-expression?

假设一个整数表达式由多个无符号整数类型uint16_t和uint32_t 。 该表达式包含一个带括号的子表达式,其中所有元素都是uint16_t类型。 在评估子表达式之前,括号内的子表达式中的元素是否应该被提升为uint32_t ? 例如: 在ideone在线编译器中尝试此操作表明a16和b ...

当 int 类型的符号不匹配时出现 g++ 错误消息 - g++ error message when signedness of int type doesn't match

如果我只是从一个示例程序开始,这是最简单的。 (注意:我的问题不是关于如何修复这个程序。如果你的回答只是关于如何修复这个程序而不是关于我的问题,请不要回复。) 当然,这里的问题是f想要将一个有符号整数作为引用,而我试图将它传递给一个无符号整数。 然而,来自 g++ 的编译器警告令人困惑: ...

数字促销是否使用缩小转换? - Does numeric promotion use narrowing conversion?

我一直认为数字转换使用扩展转换,并且只需遵循一些优先级即可,例如: 如果操作数是 double 类型,则所有内容都将转换为 double。 下一个优先级是 float,然后是 long,然后是 int。 但后来我偶然发现了这个新的JLS ,上面写着如果任何表达式的类型为 int 且不是常量表达式( ...

数字提升仅适用于算术运算符? - Numeric promotion only for arithmetic operators?

JLS 声明数字提升应用于算术运算符的操作数。 数值提升应用于算术运算符的操作数。 数字提升上下文允许使用: 身份转换 (§5.1.1) 扩大原语转换 (§5.1.2) 拆箱转换 (§5.1.8) 但是,根据我的经验,我发现数字提升也适用于其他运算符的操作数,例如按位运算符。 我发现了这一点当使 ...

为什么字符串转换不是数字提升的类型? - Why is String conversion not a type of Numeric Promotion?

Oracle 指定关于数字促销 数字提升(第 5.6 节)将数字运算符的操作数变为通用类型,以便可以执行操作。 如果任一操作数的类型为 double,则另一个将转换为 double。 否则,如果任一操作数的类型为 float,则另一个将转换为 float。 否则,如果任一操作数的类 ...

使用不同运算符的字符串操作 - String operations using different operators

我用了这个语句 Java 显示的答案是Y9090 。 我了解 Java 是如何进行此操作的。 如果使用运算符+ ,则字符串与文字连接。 因此, Y首先与 90 连接,形成Y90作为新字符串,然后再次将Y90与90连接,形成Y9090作为结果字符串。 当我将上述表达式更改为: Java 显示错误。 ...

如何在构造函数中应用算术类型提升 - How to apply arithmetic type promotion within a constructor

假设地,如果我要创建一个点类,并且希望它根据参数推导类型,则希望将点类提升为最高参数。 例如: 我不确定如何在构造函数中实现这一点。 我已经能够从调用显式专用构造函数的函数推断出类型,而不是从构造函数本身推断出类型。 到目前为止,这是我的尝试: 为什么将Point(1, ...

类型提升和方法重载(多选) - Type Promotion and Method Overloading (Multiple Options)

当由于类型提升而有多个可接受的方法时,决定执行哪个方法的因素是什么? 这是示例代码 输出是: Method 1如所写,但Method 2如果我注释掉test(int a, float b) 这是为什么? 它是否尝试进行最少的类型提升? 它是否试图推广论点 1,然后是论点 2? 它是否基于某种 ...

为什么将Numpy中的0d数组视为标量? - Why are 0d arrays in Numpy considered scalar?

从某种意义上说,这已经有了一个很好的答案 : 人们不应该为之苦思。 最终对于个人的心理健康和寿命来说更好。 心理健康和长寿固然很好,但是这个人的骄傲又遭受了另一次打击,试图变得聪明和残酷,被numpy拒绝: 考虑以下内容,我们从一些字节数据开始: 假设我们要添加 ...


 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM