Initializing an array of cstring inside a function call
Question
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;
Solution
No. It is possible to initialize an array when declaring it, not otherwise.
OTHER TIPS
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.
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow