0

このエラーが発生し続けます:no matching function for call to 'Person::Person(const char [10]) クラスは別の cpp ファイルにあります。同じ cpp ファイルにコンストラクターがあると、オブジェクトを簡単に作成できます。これは私のコードです:

main.cpp ファイル

#include <iostream>
#include "Person.h"

using namespace std;

int main()
{
    Person p("hellooooo");
    return 0;
}

Person.h ファイル

#ifndef PERSON_H
#define PERSON_H


class Person
{
    public:
        Person();
    protected:
    private:
};

#endif // PERSON_H

Person.cpp ファイル

#include <iostream>
#include "Person.h"

using namespace std;

Person::Person()
{
   cout << "this is the default constructor??";
}

Person::Person(string n)
{
   cout << n;
}
4

1 に答える 1

6

ファイルに2番目のコンストラクターの宣言を追加する必要があり.hます

#include <string>
class Person
{
    public:
        Person();
        Person(std::string);
};
于 2013-01-12T20:59:51.833 に答える