当前位置: 首页 > 知识库问答 >
问题:

d::basic_ostream在C中无法访问

凌俊名
2023-03-14

我得到以下错误,我不确定问题是什么

1智能感知:“标准::基本团队”

书cpp

ostream operator<< (ostream& out, const Book & b){
    out << "Title: " << b.my_Title << endl;
    out << "Author: " << b.my_Author << endl;
    out << "Number of time checkout out: " << b.my_NumberOfTimesCheckedOut;
    return(out);
}

我得到了返回(out)的问题;

书H

#ifndef BOOK_H
#define BOOK_H
#include <string>
using namespace std;
namespace CS20A
{
    class Book {
    public:
        Book();
        Book( string author, string title );
        string getTitle() const;
        string getAuthor() const;
        int getNumberOfTimesCheckedOut() const;
        void increaseNumberOfTimesCheckedOut( int amount=1 );
        friend ostream operator<< ( ostream& out, const Book & b );
    private:
        string my_Author;
        string my_Title;
        int my_NumberOfTimesCheckedOut;
    };
};
#endif

我甚至不明白错误告诉了我什么

共有2个答案

燕涵容
2023-03-14

我想你是想把奥斯特雷姆的资料还给我。

ostream& operator<< (ostream& out, const Book & b){
    out << "Title: " << b.my_Title << endl;
    out << "Author: " << b.my_Author << endl;
    out << "Number of time checkout out: " << b.my_NumberOfTimesCheckedOut;
    return(out);
}

更好的是,您可以在新的C版本中获得to_string方法,如Java。

喻嘉泽
2023-03-14

我怀疑您使用的是一个古老的编译器,它通过将复制构造函数设置为私有来实现禁止复制std::ostream,这是不可复制的;因此出现了令人困惑的“无法访问”错误。

std::ostream不可复制。您必须返回一个引用:

ostream &operator<< (ostream& out, const Book & b){
 类似资料:
  • 我有一个进程创建SQS消息并将其放置在SQS队列中,另一个进程读取这些消息并根据消息主体的内容和属性执行某些逻辑。 我可以成功地在SQS队列上创建一个带有正文和属性的消息,但是我在回读消息属性时出现了问题! 我确信我的消息创建过程是正确的,我可以在AWS SQS控制台中看到队列的属性。我只是不明白为什么我不能读回那些属性。 使用上面的代码,我得到了消息的正文,但是属性是空的!当直接使用SQS队列手

  • 问题内容: 我正在尝试在cgo中访问ac struct,但是要这样做 无法确定C.utmpx的名称种类 utmpx是结构 这是执行代码: 在utmpx.h文件中,有 我可以使用_PATH_UTMPX,但在使用UTMPX_FILE时也会收到相同的警告,为什么? 看来我无法访问在.h文件中声明的这些变量,该怎么办? 平台:macOS sirria,go 1.8 问题答案: 我必须定义_GNU_SOUR

  • 问题内容: 我有这个来自URL的Json: 我需要把手放在列表中的属性上。 所以应该是功能->属性-> name_en(类似对象的列表) 我尝试这样: 为了创建第一个Json Array,但我什至无法做到。我收到错误消息:JSONObject类型的方法getJSONArray(String)未定义 (我对“ getJSONObject”有同样的错误)。一定是缺少的东西,我是Java / andro

  • 我有个大问题。我安装了新的,顺便把我的改为。我还设置了tomcatmanager角色,并在NetBeans的Tomcat选项中设置名称和密码。 如果我现在正在运行我的项目(该项目在之前运行得非常好,但不幸的是在新设置之前删除了我的旧环境),服务器将启动,但该项目没有部署在Tomcat上。 如果我转到正在运行。我可以使用我指定的用户名和密码访问Tomcat,但如果我试图在NetBeans中查看文件夹

  • 本文向大家介绍在数组中找到最大的d,使得C ++中的a + b + c = d,包括了在数组中找到最大的d,使得C ++中的a + b + c = d的使用技巧和注意事项,需要的朋友参考一下 假设我们有一组整数。我们必须找到一个数字“ d”,其中d = a + b + c,并且必须最大化(a + b + c),所有a,b,c和d都存在于集合中。该集合将至少容纳一个元素,最多可容纳1000个元素。每

  • 本文向大家介绍在数组中找到四个元素a,b,c和d,以便在C ++中a + b = c + d,包括了在数组中找到四个元素a,b,c和d,以便在C ++中a + b = c + d的使用技巧和注意事项,需要的朋友参考一下 假设我们有一个整数列表。我们的任务是找到四个不同的整数,分别为(a,b)和(c,d)两对,这样a + b = c + d。如果有多个答案,则仅打印一个。假设数组元素像:A = [7