-5

修正しようとしているコンパイル エラーが 2 つありますが、どこにも行きません。ここに 2 つのエラーがあります 'string' は 80 行目で型を指定していません

誰かが私を正しい方向に向けてくれませんか

#include <iostream>
#include <string>

using namespace std;


//class type declared
  class Meeting
  {
    private:
     string speaker;
     string topic;
     string venue;
     string date;
   public:
    Meeting();
    void setSpeaker(string s);
    void setTopic(string t);
    void setVenue(string v);
    void setDate(string d);
    string getSpeaker();
    string getTopic();
    string getVenue();
    string getDate();

 };

   //member functions for class Meeting
   Meeting::Meeting()
   {
    string speaker = " ";
    string topic = " ";


string venue = " ";
  string date = " ";
}

//mutators to set member variables to vale given
void Meeting::setSpeaker(string s)
{
     speaker = s;
}
void Meeting::setTopic(string t)
{
     topic = t;
}
void Meeting::setVenue(string v)
{
     venue = v;
}
void Meeting::setDate(string d)
{
     date = d;
}


//Accessors to retrieve data from each of the member variables
string Meeting::getSpeaker()
{
    return speaker;
}
string Meeting::getTopic()
{
    return topic;
}
string Meeting::getVenue()
{
    return venue;
}
string Meeting::getDate()
{
    return date;
}


//main using the class
int main()
{
         Meeting mMeeting; //instance of Meeting Class
   Meeting
         string s;     // error `string' does not name a type 
         string t;
         string v;
         string d;

    // Enter Meeting Information
    cout << "Enter Speaker name and surname: ";
         getline(cin, s);     // error `s' undeclared (first use this function) 
         mMeeting.setSpeaker(s);
    cout << "Enter Topic: ";
         cin >> t;
         mMeeting.setTopic(t);
    cout << "Enter Venue: ";
         cin >> v;
         mMeeting.setVenue(v);
    cout << "Enter Date: ";
         cin >> d;
         mMeeting.setDate(d);


    //Display Meeting details
    cout << "\nSpeaker at meeting: " << mMeeting.getSpeaker() << endl;
    cout << "Topic at meeting: " << mMeeting.getTopic() << endl;
    cout << "Venue of meeting: " << mMeeting.getVenue() << endl;
    cout << "Date of meeting: " << mMeeting.getDate() << endl;

 system ("pause");
 return 0;
}
4

3 に答える 3

4

それはこの行のせいです

    Meeting mMeeting; //instance of Meeting Class
   Meeting //this line is creating error, remove this line
     string s;     // error `string' does not name a type 
于 2013-03-23T19:49:27.763 に答える
3

他の人が言及したエラー以外に、ここにセマンティックエラーがあります:

Meeting::Meeting()
{
    string speaker = " ";
    string topic = " ";
    string venue = " ";
    string date = " ";
}

ここでは、クラス メンバに値 を割り当てるつもり" "ですが、実際に行っているのは、4 つのローカル文字列変数を定義し、それらを で初期化すること" "です。期待される結果を得るには、次のようにする必要があります。

Meeting::Meeting()
{
    speaker = " ";
    topic = " ";
    venue = " ";
    date = " ";
}

上記の関数本体は、意図したとおりに 4 つのクラス メンバーに値を割り当てます。

于 2013-03-23T19:51:05.560 に答える
0

Meeting79行目を削除すると、コンパイルされます。

于 2013-03-23T19:49:19.723 に答える