您没有operator<<定义指定InventoryItem应如何打印到输出流的定义.您尝试打印它,编译器不知道如何.你需要定义一个像这样的函数:
operator<<
InventoryItem
std::ostream& operator<<(std::ostream &strm, const InventoryItem &i) { return strm << i.Item << " (" << i.Description << ")"; }