0

私は持っています

main(){...
float **tree;   
//How to set some values here for e.g. If I want tree to be a 15x2 array of some values?
reprVectorsTree *r1 = new reprVectorsTree(tree,8,2);
...}

reprVectorsTree(float **tree, int noOfReprVectors, int dimensions)
{.....

ツリー配列内にデータを設定できるように、ここでmallocを使用するにはどうすればよいですか?

4

2 に答える 2

1

にメモリを割り当てるにはtree、次のようにしてみてください。

float** tree;
tree = (float**)malloc(15 * sizeof(float*));
for(i = 0; i < 15; i++) 
    tree[i] = (float*)malloc(2 * sizeof(float));

これで、値を設定できます。

for(i = 0; i < 15; i++)
    for(j = 0; j < 2; j++)
        tree[i][j] = 2;

なぜあなたが一緒に結合しているのfreeか分かりませんが、後でそれを忘れないでください。newmalloc

于 2012-08-16T10:16:20.877 に答える
0

tree割り当てたい変数だと思います。

あなたはこのようにすることができます:

float **tree;

// Allocate 15 "arrays"
tree = new float*[15];

for (int i = 0; i < 15; i++)
{
    // Allocate a new "array" of two floats
    tree[i] = new float[2];

    // Fill the newly allocated floats with "random" data
    tree[i][0] = 1.0;
    tree[i][1] = 2.0;
}

ただし、可能であれば、代わりreprVectorsTreeに受け入れるようにオブジェクトを変更することをお勧めします。std::vector< std::vector< float > >

于 2012-08-16T10:19:25.233 に答える