C++ C++;构造函数中的动态浮点数?

C++ C++;构造函数中的动态浮点数?,c++,arrays,pointers,C++,Arrays,Pointers,我的field类需要一个浮点数组。 一切都很好,现在我想让我的高地图更有活力 我刚发现它在我做这件事的时候死了: *highMap = new float[mapWidth]; for (int x = 0; x<GFX_Rx; x++) { *highMap[x]=30; } 谢谢您的代码中有一些问题。首先,不能用动态大小声明数组,它甚至不应该编译。第二,在不知道指针指向某个有效位置的情况下,不能取消对指针的引用,这将导致seg错误 如果不想使用std::vector,可以执行

我的field类需要一个浮点数组。 一切都很好,现在我想让我的高地图更有活力

我刚发现它在我做这件事的时候死了:

*highMap = new float[mapWidth];
for (int x = 0; x<GFX_Rx; x++)
{
    *highMap[x]=30;
}

谢谢

您的代码中有一些问题。首先,不能用动态大小声明数组,它甚至不应该编译。第二,在不知道指针指向某个有效位置的情况下,不能取消对指针的引用,这将导致seg错误

如果不想使用std::vector,可以执行以下操作:

#include <iostream>

const int mapWidth = 5;
float** highMap;
int GFX_Rx=5;

int main() 
{
    highMap = new float*[mapWidth];
    for (int x = 0; x<GFX_Rx; x++)
    {
        highMap[x]=new float(30);
    }
}
#包括
常量int mapWidth=5;
浮动**highMap;
int GFX_Rx=5;
int main()
{
highMap=新浮点*[mapWidth];

for(int x=0;x
highMap
声明为一个无大小的
float*
数组。如果要动态分配,请删除
[]< />代码>声明和额外的<代码> */Cuth.On用法。但一般来说,代码> STD::向量< /C>或其他容器类是一种更好的方法,如果你可以使用的话,你使用哪种编译器?C++中,<代码>浮点*HaveM[]“编译程序”是编译时错误,它应该由编译器来报告,所以我很惊讶它为您编译。也考虑检查循环的边界,如从您的代码中不清楚所分配的内存的大小是否与“GFXRX”变量兼容,它根本不应该编译,不能用动态SIZ声明数组。E
#include <iostream>

const int mapWidth = 5;
float** highMap;
int GFX_Rx=5;

int main() 
{
    highMap = new float*[mapWidth];
    for (int x = 0; x<GFX_Rx; x++)
    {
        highMap[x]=new float(30);
    }
}