我想知道是否有可能有一个函数参数,而不关心它的类型是什么.例如,我有一个覆盖<<运算符的类.但它唯一能做的就是将param添加到私有ostringstream:
CLog& CLog::operator <<(const char * txt) {
buffer << txt;
return *this;
}
Run Code Online (Sandbox Code Playgroud)
但是,这只允许我将const char写入缓冲区.我需要参数是任何类型ostringstream <<接受.那可能吗?
您可以使用模板:
template <typename T>
CLog& CLog::operator <<(const T& p) {
buffer << p;
return *this;
}
Run Code Online (Sandbox Code Playgroud)