【发布时间】:2013-02-25 05:06:31
【问题描述】:
我主要使用 Java 进行编程,但我正在学习需要使用 C++ 的图形课程。我正在尝试创建一个对象数组,以便循环遍历它们并将它们绘制到屏幕上,但我一生都无法弄清楚如何创建这个数组。我现在有代码,它不会产生任何编译器错误,但它似乎也不能正常工作。以下代码位于我的 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 输出,所以我不确定发生了什么。如果需要我的更多代码,我当然愿意发布它。当然,如果有更好的方法来解决这个问题,我将不胜感激。谢谢!
【问题讨论】:
-
我很好奇
%d格式说明符是如何导致0.0... -
旁注:为什么选择 fprintf ?您可以使用 printf。
-
另外,
size_t的正确格式说明符是%uz,无论如何在 C++ 中你应该使用std::cout而不是printf()。 -
我从内存中输入了代码并犯了一些错误,意思是 %f。 fprintf 只是我认识的一个哈哈。
-
如果您不熟悉数组,您可能会发现 STL 中的集合类(如 vector)更易于处理。只是说。