0

したがって、4 つの異なるパラメーター (名前、アーティスト、サイズ、および追加された日付) のエントリを受け取る 1 つの構造体がありますが、本質的にエントリ構造体のライブラリである別の構造体があり、その中に挿入メンバー関数を作成したいと考えています。ライブラリに配置するエントリである 1 つの引数を取るライブラリ構造。

HEADER.h で

struct MusicEntry{
    string name, artist, date_added;
    long size;

    MusicEntry() = default;
    MusicEntry(string name_str, string artist_str, long size_int, string date_added_str) : 
    name(name_str), artist(artist_str), size(size_int), date_added(date_added_str) {};
    MusicEntry to_string();
};

struct MusicLibrary{

    MusicLibrary(string) {};
    MusicLibrary to_string();
    MusicEntry insert(); //not sure how this should be passed with MusicEntry

};

FUNCTION.cpp で

MusicEntry MusicLibrary::insert(){
     //some code
}

各曲には一意の ID が付けられており、それが本質的に挿入メンバー関数を介して渡されます。

4

1 に答える 1

0

MusicLibrary に MusicEntry のすべてのインスタンスを含める必要があると思われるため、std::vector などの汎用コンテナーを調べる必要があります。

http://www.yolinux.com/TUTORIALS/LinuxTutorialC++STL.html#VECTOR

MusicEntry を MusicLibrary に渡すには、参照 (&) またはポインター (*) を使用する必要があります。

MusicEntry* MusicLibrary::insert(const MusicEntry* myEntry){
     //some code
}

また

MusicEntry& MusicLibrary::insert(const MusicEntry& myEntry){
     //some code
}
于 2013-10-31T01:09:23.023 に答える