让我受到欢迎,我遇到了一些问题.我有一个std::vector包含一些自己的类的typedef'ed :
typedef std::vector<data::WayPoint> TWayPointList;
Run Code Online (Sandbox Code Playgroud)
这是结构内部的嵌套类型,DataHandler它在某些命名空间中存在data.
所以,现在我想打印出矢量的单个内容.为此,我的想法是重载<<运算符并循环遍历typedef'ed向量的单个元素.所以我在结构中声明了以下输出操作符DataHandler:
namespace data
{
structure DataHandler
{
// ... some code
typedef std::vector<data::WayPoint> TWayPointList;
// ... some more code
/**
* @brief Globally overloaded output operator
*
* @param[in] arOutputStream Reference to output stream.
* @param[in] arWayPointList WayPoint which should be printed to output stream.
*/
LIB_EXPORTS friend std::ostream& operator<<(std::ostream& arOutputStream, const data::DataHandler::TWayPointList& arWayPointList);
} // structure DataHandler
} // namespace data
Run Code Online (Sandbox Code Playgroud)
并在相应的源文件中定义它:
namespace data
{ …Run Code Online (Sandbox Code Playgroud)