У меня есть контейнерный класс, в котором я перегружал оператор (), и я пытаюсь использовать его как способ доступа к элементам в контейнере, как если бы вы использовали двухмерный массив
class Container{
class Node{
public:
int x, y;
dataClass* object;
}
Node* first; //pointer to list
public:
T* operator()(int, int) {
//returns object with given x, y
}
}
И в моем основном файле я хочу сделать что-то подобное с контейнером
Container* c = new Container();
//pushing elements in the container
int a, b; //random ints that represent indexes i want to access
c(a,b)->info = "something"; //info being some member in dataClass
Но при этом я получаю ошибку called object type 'Container *' is not a function or function pointer
при компиляции. Есть ли способ сделать это без необходимости опускать указатель на контейнер или добавлять другие элементы, выполняющие выражение (например, (*c)(a,b)
?