ヘッダーファイルに文字列名がありますが、これはcppソースファイルのgetName()
メソッドを使用して返す場合、このエラーが発生します。 "error: cannot convert 'std::string {aka std::basic_string<char>}' to 'int' in return|"
。C++で文字列を返しますか?
文字列名変数を正しく返すようにgetName()
メソッドを変更するにはどうすればよいですか?私はC++に感謝しています。 (問題はPerson.cppの最後のメソッドでLIES)
ヘッダーファイル:
#ifndef PERSON_H
#define PERSON_H
#include <string>
class Person{
private:
int age;
std::string name;
public:
Person(); //constructors
Person(int x, std::string y);
Person(int x);
Person(std::string y);
Person(std::string y, int x);
setAge(int x); //set functions
setName(std::string x);
getAge(); //set functions
getName();
};
#endif
Person.cpp (PROBLEM IS WITH LAST (getName())
方法:
#include "Person.h"
#include <iostream>
#include <string>
//Constructor Functions
Person::Person(){ //constructor #1, constructor for no set parameters
}//end of Constructor #1
Person::Person(int x, std::string y){ //constructor #2, constructor for when
both int age and string name are given
}//end of Constructor #2
Person::Person(int x){ //constructor #3, constructor for when only int age
is given
}//end of Constrictor #3
Person::Person(std::string x){ //constructor #4, constructor for when only
string name is given
}//end of Constructor #4
Person::Person(std::string y, int x){ //constructor #6, constructor that
uses same parameters as constructor #2 but has order reversed
}//end of Constructor #6
//end of Constructor Functions
//Set Functions
Person::setAge(int x){//sets int age to the int x parameter
}//end of setAge function
Person::setName(std::string x){//sets string name to the string x parameter
}//end of setName function
//end of Set Functions
//Get Functions
Person::getAge(){//returns int age
return age;
}//end of getAge
Person::getName(){//returns string name
//PROBLEM IS HERE **********************************************
return name;
}
あなたはすべての場所で戻り値の型のコンセプトを見逃しているようです。 – drescherjm
メンバ関数で戻り値の型を指定する必要があります。 –
このチュートリアルのC++クラスを読む:http://www.cplusplus.com/doc/tutorial/classes/ –