halp
halp

Reputation: 3

C++ "dynamic" arrays

I've got some problems/misunderstandings with arrays in C++.

int myArray[30];
myArray[1]=2;
myArray[2]=4;

This is spitting out a lot of compiler errors. I don't think it is necessary to include them here as this is an easy question for everybody with experience in C(++) I guess

Upvotes: 0

Views: 367

Answers (2)

anon
anon

Reputation:

Are you saying that this doesn't compile:

int main() {
    int myArray[30];
    myArray[1]=2;
    myArray[2]=4;
}

If it doesn't, you have something wrong with your compiler setup. As I said in my comment, we need to see the error messages.

Upvotes: 2

R Samuel Klatchko
R Samuel Klatchko

Reputation: 76541

I'm guessing you have that outside of a function.

You are allowed to define variables outside of a function. You can even call arbitrary code outside of a function provided it is part of a variable definition.

// legal outside of a function
int myArray[30];

int x = arbitrary_code();

void foo()
{

}

But you cannot have arbitrary statements or expressions outside of a function.

// ILLEGAL outside a function
myArray[1] = 5;

void foo()
{
    // But legal inside a function
    myArray[2] = 10;
}

Upvotes: 14

Related Questions