У меня есть функция с void * как один из ее параметров (пустота используется как общий объект). Но чтобы иметь возможность вызывать функцию в этом универсальном объекте, мне нужно сначала набросить его, и для этого мне нужно знать, какой тип класса. И я хотел знать, возможно ли передать класс или некоторую информацию, которая позволяет мне отображать объект как параметр функции?Можно ли передать класс в качестве параметра функции в C++?
ответ
Если вы изучали Templates?
Примером может быть что-то такое, как
class SomeClass
{
public:
template<typename CastClass>
void DoSomething(void* someArg)
{
(CastClass)someArg;
}
};
Использование:
class A{ }; // Some random test class
SomeClass test;
A a;
test.DoSomething<int>(&a); // The template parameter can be anything.
// I just have int to make it a smaller example.
Но мне нужна эта функция внутри класса, и я не могу сделать этот класс шаблоном – XaitormanX
@XaitormanX: См. Обновленный пример – josephthomas
Спасибо. И как он будет использоваться? – XaitormanX
- 1. Можно ли передать объект в качестве параметра?
- 2. Groovy - Можно ли передать класс в качестве параметра?
- 3. можно ли передать класс <protocol> в качестве параметра?
- 4. Можно ли передать SQLCommand в качестве параметра?
- 5. Можно ли передать percentDiscount в качестве параметра?
- 6. Можно ли передать stringstream в качестве параметра функции?
- 7. Невозможно передать класс в качестве параметра команде
- 8. Можно ли передать строго типизированный класс в качестве параметра метода в C#?
- 9. Передайте родительский класс в качестве параметра функции
- 10. Как передать класс (не объект) в качестве параметра в C++
- 11. Passing класс в качестве параметра функции
- 12. Как передать несколько объектов функции в качестве параметра в C++
- 13. Можно ли передать интерполированные строки в качестве параметра методу?
- 14. Как передать словарь в качестве параметра функции?
- 15. Как передать объединение в качестве параметра функции
- 16. Как передать 2D-карту в качестве параметра функции в C++?
- 17. Должен ли я передать весь объект в качестве параметра функции?
- 18. R: передать Graph в качестве параметра функции
- 19. Невозможно передать символ [] в качестве параметра функции
- 20. как передать объект в качестве параметра функции
- 21. Как передать идентификатор в качестве параметра функции?
- 22. Как передать канал функции в качестве параметра?
- 23. Как передать событие в качестве параметра функции?
- 24. C++ передать перечисление в качестве параметра
- 25. C++: Как передать любой итеративный тип в качестве параметра функции
- 26. Могу ли я передать делегат в качестве объекта параметра-c
- 27. C проход адрес возвращаемого значения функции в качестве параметра функции
- 28. функции в качестве параметра
- 29. Могу ли я передать порт IO в качестве параметра функции?
- 30. Как передать форму в качестве параметра функции с помощью C#
Вы владелец функции получать недействительным * в качестве параметра или она является частью внешнего API? –
Я являюсь владельцем func – XaitormanX
Обычно очень плохая идея обеспечивает функцию с void * в качестве входа. Существует лучший способ добиться общего поведения: использование шаблона или наследования. Вы должны переосмыслить свой дизайн. –