tags:

views:

89

answers:

2

How come I can do this:

char sXSongs[20][30] = {"Song 1", "Song 2 (w/Blur)", "The End (It's Not Here Yet)"};
addAlbum(&list, "The Beatles", "Some Famous CD", 1960, sXSongs);

But not this:

addAlbum(&list, "The Beatles", "Some Famous CD", 1960, {"Song 1", "Song 2 (w/Blur)", "The End (It's Not Here Yet)"});

Is it impossible to initialize an array of cstrings inside a function call?

Here are some other tidbits of information:

album* list = NULL;
typedef struct album {
    char performer[20];
    char CDtitle[50];
    int year;
    char songs[20][30];
    struct album* prev;
    struct album* next;
} album;
A: 

No. It is possible to initialize an array when declaring it, not otherwise.

Hans W
A: 

You can't instantiate like that in C++.

It's possible (sort-of) in C# if you use anonymous types that you can create on the fly.

Thorsten79