-1
我无法打印列表对象的实际内容。当我使用std :: cout < < myList;我得到一个编译器错误说错误:'操作符< <'(操作数类型是'std :: ostream {aka std :: basic_ostream}'和'List')不匹配C++问题COUT只在内存中打印位置?
当我使用std: :cout < <&myList;但它只打印内存中的位置。以下是我的主要文件。我也包括我定义
//main.cpp
#include <iostream>
#include "list.h"
#include "loadfile.h"
#include "book.h"
int main(int argc, const char * argv[]) {
List myList;
load_book_data("test_subset.tsv", myList);
List & myI = myList;
std::cout<<myList;
return 0;
}
// operator overloading, this is from a book.cpp
std::ostream& operator<<(std::ostream & os, const Book & b)
{
os<<b.isbn()<<'\t'<<b.title()<<'\t'<<b.author()<<'\t'<<b.year()<<'\t'<<b.rating();
return os;
}
您是否为'List'定义了'operator <<'? – NathanOliver
你在哪里告诉计算机如何打印“List”? –
给你一些东西给谷歌,“操作符重载” – UKMonkey