Инициализация массива cstring внутри вызова функции - PullRequest
0 голосов
/ 16 февраля 2010

Почему я могу сделать это:

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);

Но не это:

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

Невозможно инициализировать массив строк в вызове функции?1008 * Вот некоторые другие лакомые кусочки информации:

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;

Ответы [ 2 ]

1 голос
/ 16 февраля 2010

Вы не можете создать такой экземпляр в C ++.

Это возможно (вроде как) в C #, если вы используете анонимные типы, которые вы можете создавать на лету.

1 голос
/ 16 февраля 2010

Нет. При его объявлении можно инициализировать массив, но не иначе.

...