これまでのこの月、私はC++をたくさん勉強していて、少し練習しようとしていることを知っています。ファイルsrc/electron/atom/browser/api/atom_api_session.cc
でポインタの中に何が入っているかを見積もるためにcoutをオーバーロードする
このコードがある:
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コンパイラが失敗します –