在c++中似乎不能正确地向数组中添加对象

Cannot seem to properly add objects to an array in C++

本文关键字:数组 添加 正确地 对象 不能 c++      更新时间:2023-10-16

我主要用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,所以我不确定发生了什么。如果我的代码是必要的,我当然愿意张贴它。当然,如果有更好的方法,我很感激。谢谢!

看起来你做的一切都是对的。我唯一的猜测是您平台上的size_t大于int,因此提供正确的格式说明符(%z而不是%d)可能会解决问题:

fprintf(stdout, "Size of platforms array: %z", sizeof(platforms)/sizeof(Platform));