Expression must have class type (vector of ponters) : I have an error that says that "column" must have class type. 

vector<Column*> is a vector of pointers where
Column is an abstract class because my columns can be of type int, double or string

class Table {

	vector<Column*> _columns;
	Column* value;
	char* name;

public:
	Table() {...}

	Table(char* name) {...}

	~Table() {...}

	template <typename T>
	void addColumn(vector<T> v) {
		auto column = DataColumnFactory::getColumn();
		column.get()->addValuesToVector(v);
		_columns.push_back(move(column));
	}


	int findLongestColumn() {
		int length = 0;
		for (auto &column : _columns) {
			if (length < column.get()->lengthOfColumn()) //ERROR
				length = column.get()->lengthOfColumn();
		}
	}
};