[英]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.