Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

populating int array that is a member variable

Tags:

People also ask

How do you initialize an array member variable?

To initialize an array variable by using an array literalEither in the New clause, or when you assign the array value, supply the element values inside braces ( {} ). The following example shows several ways to declare, create, and initialize a variable to contain an array that has elements of type Char .

How do you initialize an entire array with value?

int num[5] = {1, 1, 1, 1, 1}; This will initialize the num array with value 1 at all index. The array will be initialized to 0 in case we provide empty initializer list or just specify 0 in the initializer list. Designated Initializer: This initializer is used when we want to initialize a range with the same value.


I'm using C++ to create a tile map for a game. My problem is, I want to populate a multidimensional array of ints in the Map constructor, but it's not working properly. Here's my code in "Map.h" (irrelevant code has been removed).

class Map {

private:    
int mapArray[15][20];
        
};

And my code from Map.cpp

Map::Map()
{

    mapArray = {
        { 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19 },
        { 20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39 },
        { 40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59 },
        { 60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79 },
        { 80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99 },
        { 100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119 },
        { 120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139 },
        { 140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159 },
        { 160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179 },
        { 180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199 },
        { 200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219 },
        { 220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239 },
        { 240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259 },
        { 260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279 },
        { 280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299 }
    };

    
}

PS. creating the mapArray locally, within a member function using int mapArray[15][20] and populating it then is working fine, I just can't seem to get it to populate in the constructor, with a member variable.

PPS. Very rusty with C++, please be gentle.

What am I doing wrong?