C ++运算符<<不匹配

时间:2018-10-25 06:24:20

标签: c++ c++11

这是我的代码,我不确定为什么会引发错误-该方法应该在指针对象上操作并打印出其值。

主要:

getOrgInfo(user.org_id).then(response => {
   if (response.condition) {
     return res.status(401).json();
   } 
})
.catch(err => next(err));

header.h:

cout<<"Deleted item is: "<<displayRecord(tmp)/*tmp->entry*/<<endl;


void displayRecord(PRecord* pr) {
cout<<"Time: "<<pr->time<<"\tEntry data: \""<<pr->entry<<'"'<<endl;
}

我收到此错误:#include <iostream> using namespace std; struct PRecord { long time; string entry; struct PRecord *link; }; void displayRecord(PRecord* pr);

error: no match for 'operator <<

1 个答案:

答案 0 :(得分:8)

您显然想使用该错误

cout << "Deleted item is: " << Priority_Queue::displayRecord(tmp);

但由于displayRecord不返回值而无法编译。它返回void类型,该类型不可打印,不能用作operator<<的参数。 致电

cout << "Deleted item is: ";
Priority_Queue::displayRecord(tmp);