表达式必须具有指向对象的指针类型(指针向量)

时间:2019-06-05 13:14:27

标签: c++

在函数Delete中,我遇到一个错误,指出getTableColumns必须具有指向对象的指针类型。

Class Column是一个抽象类。

class Table {

    vector<Column*> _columns;
    Column* value;
    char* name;
public:
    vector<Column*> getTableColumns() {
        return _columns;
    }

void Delete(char* name, int columnNumber, string thisValue) {
    for (int i = 0; i <= findLongestColumn(); i++) {
                if ((string)thisValue.compare((string)(getTableColumns()
                     [columnNumber]->getColumnValues()[i])) == 0)//!!!error
                {...}    
        }
}

template <typename T>
class DataColumn : public Column {

    vector<T> values;

public:
    void getColumnValues()
    {
        return values;
    }

1 个答案:

答案 0 :(得分:1)

Column::getColumnValues被声明为void,但是您返回了一个值,然后又将其索引到结果中。