简体   繁体   English

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

[英]Expression must have pointer- to- object type (vector of pointers)

In my function Delete I have an error that says that getTableColumns must have a pointer-to-object type. 在我的函数Delete ,出现一个错误,提示getTableColumns必须具有指向对象的指针类型。

Class Column is an abstract class. 类列是一个抽象类。

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;
    }

Column::getColumnValues声明为void但您返回一个值,然后在结果中进行索引。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM