I Namen struct ist der Typ haben eine Struktur:Was in einem Vektor
struct wav_file_info_struct
{
char filename[MAX_PATH];
WORD audio_format;
WORD num_channels;
DWORD sample_rate;
DWORD bits_per_sample;
};
struct wav_file_data_struct
{
DWORD data_chunk_size;
char* wav_data;
};
struct wav_file_struct
{
wav_file_info_struct wav_file_info;
wav_file_data_struct wav_file_data;
};
Nun, wenn ich einen Vektor von wav_file_struct wie folgt zu erstellen:
std::vector<wav_file_struct> v_wav_file_struct;
Wie gebe ich die Struktur innerhalb wav_file_struct als Parameter für eine Funktion, auf die als Vektor zugegriffen werden kann? Zum Beispiel möchte ich wav_file_info an eine Funktion übergeben, aber als Vektor. Es scheint, dass ich, da es in einem Vektor von wav_file_struct ist, den Vektor wav_file_struct übergeben muss und dann die Funktion Zugriff auf das interne Strukturelement und die Mitglieder innerhalb dieser Strukturen erlangen kann. Richtig?
Es ist wirklich unklar, was Sie hier erreichen wollen. Sie sagen "übergeben Sie wav_file_info an eine Funktion, aber als Vektor", aber wav_file_info ist kein Vektor oder irgendetwas, das einem entfernt ähnelt. Was würdest du mit dem Vektor machen, den du willst? Warum brauchst du einen Vektor? – user2357112
Nicht sicher, wonach Sie suchen. 'wav_file_info' ist kein' Vektor' und kann daher nicht als 'Vektor' verwendet werden. Du könntest ein 'wav_file_info' in einen temporären' Vektor' setzen und dann die Funktion mit diesem 'Vektor' aufrufen, aber ich sehe nicht, was dir das bringt. Mehr Informationen bitte. [Das klingt sehr nach einem X-Y-Problem.] (Http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem) – user4581301
Lies das zweimal, und immer noch nicht sicher, was es fragt. Vielleicht ist eine Beispielfunktion, an die Sie dies weitergeben möchten, und Ihr Versuch, sie zu übergeben, als * Update für Ihre Frage * in Ordnung. – WhozCraig