我经常看到以下语法用于C数组元素引用:
var A = React.createClass({
render: function() {
/* stuff */
}
});
var B = React.createClass({
render: function() {
return dom.div(null, this.props.children);
}
});
var C = React.createClass({
render: function() {
return dom.div(null, B(null, A()));
}
});
这似乎通过sizeof(int)增加地址与一些编译器(例如mingw)和sizeof(void *)与其他编译器(德州乐器)。
将其更改为int someArray[10];
(void*) a = &someArray[x];
似乎正在解决此问题。
捕获的地方在哪里? 是"&"的优先顺序和" [x]"标准未定义? 什么是便携式代码的最佳实践?
谢谢! 兰道夫
答案 0 :(得分:0)
此代码没有问题:
int someArray[10];
void *a = &someArray[x];
正确的编译器将根据sizeof(someArray [0])递增指针。
或许,您不应该问及如何编写可移植代码&#39;,而是如何编写即使使用野生编译器编译也能正常工作的代码 ... < / p>