7得票2回答
在EJB中缩小JNDI引用时出现了类转换异常。

我正在尝试编写一个简单的无状态会话Bean,但在查找时给出的窄引用存在问题。 我收到了“类转换异常”。 我使用Eclipse IDE。 我的Bean类是: package codes; import java.rmi.RemoteException; import javax.ejb.EJ...

8得票3回答
为什么下面的表达式代表了一种缩小转换?

这个表达式可以在标准中的§8.5.4/7的示例中找到(N3797)。 unsigned int ui1 = {-1}; // error: narrows 给定 §8.5.4/7 及其第四个要点: 缩小转换是一种隐式转换: 从整数类型或未作用域枚举类型到不能表示原始类型所有值的整数类...

11得票1回答
gcc是否有错误,未在非类型模板参数中诊断缩窄转换?

以下程序在gcc 4.8.1下无误警告地编译,使用的参数是-Wall -std=c++11: template<unsigned N> struct A{}; int main(){ A<1-2> a; (void)a; return 0; ...

21得票3回答
当 noUncheckedIndexedAccess 为 true 时,通过长度缩小数组类型的类型安全方法

给定一个接受单个 string[] 参数 myArray 的函数。 如果我计算 .length 属性并且该属性大于 0,那么(假设我的变量不是伪装成的any),myArray[0] 不可能是未定义的。然而,如果我启用 noUncheckedIndexedAccess,它的类型将是 string...

81得票4回答
用两种类型声明一个变量:"int char"

我是一名C++初学者,正在阅读Bjarne Stroustrup的《Programming: Principles and Practice Using C++》。在“3.9.2 不安全的类型转换”一节中,作者提到:当初始化器为整型字面值时,编译器可以检查实际值并接受不会导致缩小的值:int ...

9得票2回答
Optional<>和返回类型缩小化

在Java 8之前,如果返回“不安全”的对象(即对象或null),我可以在子类中专门化返回类型: class A {} class B extends A {} interface Sup { A a(); /* returns A instance, or null */ } interf...

45得票3回答
为什么一个final变量不总是一个常量表达式?

在下面的代码中:final int a; a=2; byte b=a; // error: possible loss of precision 我为什么会遇到这个错误?a不是一个final变量的编译时常量表达式吗,在赋值期间隐式缩小为byte? 换句话说,上面的代码不等同于:final...

25得票1回答
将bool类型的缩小转换应用于列表初始化——奇怪的行为

考虑以下这段C++11代码: #include &lt;iostream&gt; struct X { X(bool arg) { std::cout &lt;&lt; arg &lt;&lt; '\n'; } }; int main() { double d = 7....

16得票2回答
为什么使用花括号初始化时进行缩小转换不会导致错误?

我在《C++编程语言第四版》的第二章:C++概览:基础知识中学习了用大括号包围的初始化表达式。 以下是书中的引用: =形式是传统的,可追溯到C,但如果有疑问,请使用一般的{}-列表形式(§6.3.5.2)。 如果没有其他问题,它可以避免信息丢失的转换(缩小转换; §10.5):i...

7得票1回答
为什么在将float强制转换为char时,C++不会显示缩小转换错误?

使用以下命令进行编译:g++ -std=c++17 -Wall -pedantic main.cpp,不会产生任何警告: #include &lt;iostream&gt; #include &lt;stdlib.h&gt; int main(int argc, char const *a...