我主要使用 Java 编程,但我正在上一门需要使用 C++ 的图形类(class)。我正在尝试创建一个对象数组以便循环遍历它们并将它们绘制到屏幕上,但我终究无法弄清楚如何创建这个数组。我现在的代码不会产生任何编译器错误,但它似乎也无法正常工作。以下代码位于我的 Main.cpp 类的顶部:
Platform ground("wallstone.tga", 40, 16, 4, 144);
Platform platform1("wallstone.tga", 10, 16, 4, 20);
Platform platforms[2] = {ground, platform1}
当我尝试:fprintf(stdout, "Size of platforms array: %d", sizeof(platforms)/sizeof(Platform));
它打印出 0.0。
我尝试了几种创建此数组的方法,但它们似乎都产生了错误或相同的输出 0.0,所以我不确定发生了什么。如果需要更多我的代码,我当然愿意发布它。当然,如果有更好的方法来解决这个问题,我将不胜感激。谢谢!
最佳答案
看起来你做的一切都是对的。我唯一的猜测是您平台上的 size_t
大于 int
,因此请提供正确的格式说明符(%z
而不是 % d
) 可能会解决问题:
fprintf(stdout, "Size of platforms array: %z", sizeof(platforms)/sizeof(Platform));
关于c++ - 似乎无法正确地将对象添加到 C++ 中的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15314585/