Функция, которая возвращает ссылку cie в функцию - PullRequest
0 голосов
/ 01 февраля 2020

Я хочу создать такую ​​функцию:

using MyFuncType = std::function<ReturnType(const ArgType)>;

const  MyFuncType &getConstRef(const ReturnType t){

}

Я имею в виду функцию, которая принимает аргумент ReturnType и CREATES и RETURNS const ссылку на функцию, которая возвращает ReturnType; Мои попытки:

#include <functional>

using MyFuncType = std::function<ReturnType(const ArgType)>;

const  MyFuncType &getConstRef(const ReturnType t){
    auto *l = new MyFuncType([=](const ReturnType) { return t; }); //i want to return arg in this func
    return std::ref(*l);
}

Затем мне нужно запустить какую-нибудь функцию, подобную этой:

someFunc(const MyFuncType& f)

И мой код делает "неопределенную ссылку на someFun c". Я предполагаю из-за несоответствия типов. Как правильно создать функцию в другой функции и вернуть const ref? (

1 Ответ

0 голосов
/ 01 февраля 2020

Это должно быть полностью верно.

https://godbolt.org/z/NpM9eZ

Убедитесь, что все, на что вы ссылаетесь, не переживает фактические данные:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...