У меня есть такая функция:
void something(void *obj)
{
obj->Set();
}
Компилятор говорит, что слева от оператора разыменования должен быть указатель на класс / struct / union / generic (перевод с немецкого не уверен в формулировке).
Идея состоит в том, что я хочу вызвать функцию something
объекта obj независимо от того, что передано something
. Гарантируется, что он имеет эту функцию. Как мне этого добиться?
- EDIT -
Я начал работать над существующим программным обеспечением, которое имеет> 100 классов для типов данных. В одной части кода есть большой оператор switch, который в зависимости от идентификатора создает экземпляр одного из этих классов и вызывает для него функцию Set. Теперь я хочу сделать несколько из этих вызовов параллельными, и из-за этого я хочу привести вызов -> Set () к отдельной функции, которую я затем могу вызвать в новом потоке. К сожалению, нет базового класса, и я не могу изменить слишком много в «большой картине». Каков наилучший способ сделать это?