1

このコンパイラ エラーの背後にある理由を確認しようとしています。どんなアドバイスでも大歓迎です-ありがとう

#include <iostream>
#include <string>
using namespace std;

    class address {

    public:

        address();

        void set_street(string street) {
            streetname = street;
        };


        string  get_street() {
            return streetname;
        };  


        void    set_parish(string parish) {
            parishname = parish;
        }

        string  get_parish() {
            return parishname;
        }

        void    set_country(string country) {
            countryname = country;
        }

        string  get_country() {
            return countryname;
        }


    private:
        string streetname;
        string parishname;
        string countryname;
    };


    int main(int argc, char* argv[]) {

        system("color 0c");

        address enteredaddress;

            cout<<"Enter street name" <<endl <<endl;

        cin >>enteredAddress.set_street();

        cout<< endl;


            system ("pause");

        return 0;

    }
4

2 に答える 2

1

set_street()引数が必要です。パラメーターのないものを探していますが、見つからないため、不平を言っています。

入力を文字列変数に格納し、その文字列をパラメーターとしてメソッドを呼び出す必要があります。

于 2012-09-20T00:33:58.853 に答える
1

これは、C++ での I/O の動作とは異なります。ストリームから読み取り、結果をセッターに渡すことはできません。最初に通りを変数に読み込み、その変数を set_street に渡す必要があります。

string tmpStr;
cin >> tmpStr;
enteredAddress.set_street(tmpStr);
于 2012-09-20T00:35:46.370 に答える