簡體   English   中英

給定此類信息,如何打印 c++ function 參數的內容

[英]how to print the content of a c++ function argument given such information

我有一個 c++11 代碼,它有一個 function 如下所示:

bool prepareSwitch(const std::list<hardware_interface::ControllerInfo>& start_list,
                   const std::list<hardware_interface::ControllerInfo>& stop_list)

為了調試此代碼,我想調查/打印例如start_list ,但是,在 c++ 中擁有相當基本的經驗讓我感到困惑。 然而,我可以獲得的有關此輸入參數的其他信息是關於本文檔中描述的<hardware_interface::ControllerInfo>的信息。

我不確定如何使用此信息來打印或調查此輸入。 有人可以指導一下嗎?

使用std::cout << start_list << std::endl; 給出了編譯錯誤。

為了便於調試,您可以重載以下運算符。 (根據需要調整格式)

std::ostream & operator<<(std::ostream & os, const hardware_interface::InterfaceResources &ir)
{
  os << "hi: " << ir.hardware_interface << std::endl;
  for (const auto & r : ir.resources)
  {
     os << "r: "<< r << std:;endl;
  }
  return os
}

std::ostream & operator<<(std::ostream & os, const hardware_interface::ControllerInfo &ci)
{
  os << "name:" << ci.name << std::endl;
  os << "type: " << ci.type<< std::endl;
  for (const auto & cr : ci.claimed_resources)
  {
     os << "cr: " << cr << std::endl;
  }
  return os
}

然后你可以打印你的函數 arguments:

for (const auto& ci: startList) 
{
   std::cout << ci;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM