我正在努力创造
ArrayList<int> myList = new ArrayList<int>();
Run Code Online (Sandbox Code Playgroud)
在Java但这不起作用.
有人可以解释为什么int类型参数不起作用?
使用Integer类进行int原始作品,但有人可以解释为什么int不被接受?
Java版本1.6
我想我已经在某处读过,在C中取一个枚举值的地址是非法的(枚举值不是左值;但是,我现在找不到任何关于此的信息).这是正确的,如果是的话,为什么?
编辑:
这是一个例子,用上面的"枚举值"来澄清我的意思.我的意思是取first_value下面的地址,而不是获取枚举的实际实例的地址:
enum myenum
{
first_value,
second_value
};
Run Code Online (Sandbox Code Playgroud) 我遇到了一段代码(包含XLC8和MSFT9编译器),包含一个带有C链接和引用参数定义的函数的C++文件.这让我很烦,因为引用只是C++.有问题的函数是从C代码调用的,它被声明为将指针参数取代到相同的类型而不是引用参数.
简化示例:
C++文件:
extern "C" void f(int &i)
{
i++;
}
Run Code Online (Sandbox Code Playgroud)
C档案:
void f(int *);
int main()
{
int a = 2;
f(&a);
printf("%d\n", a); /* Prints 3 */
}
Run Code Online (Sandbox Code Playgroud)
现在,街上的一句话就是大多数C++编译器,它们都像指针一样实现引用.是这样的,只是纯粹的运气,这个代码工作的原因,或者说它在C++规范中的某处说明当你用引用参数和C链接定义一个函数时的结果是什么?我无法找到任何相关信息.
有人可以解释JLS§8.4.8.4中提到的"严格的默认 - 抽象和默认 - 默认冲突规则" .
它们是在JLS中定义的吗?我似乎无法找到他们的定义.