上個月我正在學習很多C++,並且知道我在嘗試一些練習,爲此我克隆了Electron項目。重載cout來查看裏面的指針
在文件src/electron/atom/browser/api/atom_api_session.cc
有這樣的代碼:
379 void Session::OnDownloadCreated(content::DownloadManager* manager,
380 content::DownloadItem* item) {
381 if (item->IsSavePackageDownload())
382 return;
383
384 v8::Locker locker(isolate());
385 v8::HandleScope handle_scope(isolate());
386 bool prevent_default = Emit(
387 "will-download",
388 DownloadItem::Create(isolate(), item),
389 item->GetWebContents());
390 if (prevent_default) {
391 item->Cancel(true);
392 item->Remove();
393 }
394 }
我想打印什麼是stdout::cout << manager;
經理,所以我創建了一個功能超載<<
的書告訴我:
375 void operator << (std::ostream & o, const content::DownloadManager* manager) {
376 o << "manager:" << manager;
377 }
但這根本不起作用。
你應該返回一個流,找到一些例子。 – perreal
「這根本不起作用」 - 它怎麼不起作用?會發生什麼,預期的輸出是什麼? – Jay
@jay編譯器失敗 –