C ++ одинаковые параметры функции с другим типом возвращаемого значения

Мне нужно найти способ смоделировать перегрузку возвращаемого типа функции в C ++.

Я знаю, что нетт способ сделать это напрямую, но яя надеюсь на этоКакой-то нестандартный способ обойти это. Мы'создаем API для работы с пользователями, и ониЯ буду передавать строку данных, которая извлекает значение на основе информации о строке. Эти значения разных типов. По сути, мы хотели бы позволить им сделать:

int = RetrieveValue(dataString1);
double = RetrieveValue(dataString2);
// Obviously, since they don't know the type, they wouldn't use int =.... It would be:
AnotherFunction(RetrieveValue(dataString1)); // param of type int
AnotherFunction(RetrieveValue(dataString2)); // param of type double

Но это нене работает в C ++ (очевидно). Прямо сейчас мынастроили его так, чтобы они вызывали:

int = RetrieveValueInt(dataString1);
double = RetrieveValueDouble(dataString2);

Тем не менее, мы неЯ не хочу, чтобы они знали тип их строки данных.

К сожалению, мыНе разрешается использовать внешние библиотеки, поэтому не следует использовать Boost.

Есть ли способы, которыми мы можем обойти это?

Просто чтобы уточнить, я понимаю, что C ++ можетт изначально делать это. Но должен быть какой-то способ обойти это. Например, я думал о выполнении RetrieveValue (dataString1, GetType (dataString1)). Это неничего не исправить, потому что GetType также может иметь только один тип возвращаемого значения. Но мне нужно что-то подобное.

Я понимаю, что этот вопрос уже задавался, но в другом смысле. Я могу'Не используй ни одного из очевидных ответов. Мне нужно что-то совершенно нестандартное, чтобы оно было полезным для меня, чего не было ни с одним из ответов на другой вопрос.

Ответы на вопрос(9)

Ваш ответ на вопрос