-1
#ifndef NAME_H
#define NAME_H
#include <string> // For string class
class Name
{
private:
std::string first{};
std::string second{};
public:
Name(const std::string& name1, const std::string& name2) : first(name1), second(name2){}
Name()=default;
std::string get_first() const {return first;}
std::string get_second() const { return second; }
friend std::istream& operator>>(std::istream& in, Name& name);
friend std::ostream& operator<<(std::ostream& out, const Name& name);
};
// Stream input for Name objects
inline std::istream& operator>>(std::istream& in, Name& name)
{
return in >> name.first >> name.second;
}
// Stream output for Name objects
inline std::ostream& operator<<(std::ostream& out, const Name& name)
{
//My error is here while I am adding " " in the overload
return out << name.first << " " << name.second;
}
'のstd :: basic_ostream
//このエラーは次のようになります。 エラー: 'operator < <'(オペランドタイプは 'std :: basic_ostream'と 'const char [2]')と一致しません < < name.first < < "" < < name.second; ^
エラーメッセージには多くの有用な情報があります。 – juanchopanza
あなたはどういう意味ですか? –
私は、エラーメッセージを読んで、コードを見て、それを理解することを意味します。ヘルプが必要な場合は、[mcve]を投稿して、問題の原因を正確に説明してください。 – juanchopanza