我有这个CSVParser类,我继承了它,我需要在派生类中调用<<运算符:

#include "dbcsv.h"

DbCsv::DbCsv() : CSVParser()
{
}


void addColumn(QString &source, const QString &val, const unsigned int s) // 0:duplicate, 1:unique
{
     CSVParser::<< source.toStdString();
}

void removeColumn(QString &source, const QString &val)
{

}

我收到此错误:
dbcsv.cpp: In function 'void addColumn(QString&, const QString&, unsigned int)':
dbcsv.cpp:10: error: expected unqualified-id before '<<' token
dbcsv.cpp: At global scope:

最佳答案

CSVParser::operator<<(source.toStdString());

括号是必需的,这是一个函数调用。

当然,如果您尚未覆盖operator<<,那么它会更简单:
*this << source.toStdString(); // probably what you want

关于c++ - 如何在派生类中调用<<的基类运算符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14787859/

10-09 14:55