0
class recording
{
public:
    void setTitle(const string &);
    void setArtist(const string &);

    string getTitle(void) const;
    string getArtist(void) const;

private:
    string title;
    string artist;
};


void recording::setTitle(string & pTitle)
{
    title = pTitle;
}

これは、宣言が関数ヘッダーと互換性がないことを示しています。しかし、スコープ解決演算子を使用しないと、タイトルが未定義であると表示されます。これは、メンバー関数を宣言する方法であるため、私には意味がありません。

4

1 に答える 1

4

違いがありますconst。あなたは宣言しました:

void setTitle(const string &);

しかし、あなたは定義しようとしました:

void recording::setTitle(string & pTitle)
于 2013-10-01T18:21:44.583 に答える