Как я могу передать этот аргумент в неконфессиональный аргумент?C++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Как я могу передать этот аргумент в неконфессиональный аргумент?

Сообщение Anonymous »

Следующие компиляции, но я хочу, чтобы моя функция serialise_deserialise () придерживалась неконтролируемой ссылки, но она невозможно с использованием decklal , потому что она возвращает ссылку на r-значение.

Код: Выделить всё

#include 

struct MyBigDonut
{
int member;

void serialise_deserialise(const auto& serialiser)
{
//serialiser.read_or_write_type(member);
}
};

struct MySerialiserDeserialiser
{
template 
static constexpr bool hasSerialiseFunction() {
// SEE IF MyDonut HAS serialise_deserialise FUNCTION THAT TAKES A REFERENCE TO THIS TYPE
constexpr bool bHasSerialiseFunction = requires {
std::declval().serialise_deserialise(std::declval());
};

return bHasSerialiseFunction;
}
template 
void read_or_write_type(T& type) { }
};

int main() {
MySerialiserDeserialiser serialiser;
static_assert(MySerialiserDeserialiser::hasSerialiseFunction());
}
< /code>
Поэтому я пытался сделать: < /p>
constexpr bool bHasSerialiseFunction = requires {
const auto& this_serialiser = std::declval();

std::declval().serialise_deserialise(this_serialiser);
};
Но я считаю, что оператор Const auto & this_serialiser делает его более постоянным выражением.
Пример Godbolt.

Подробнее здесь: https://stackoverflow.com/questions/795 ... n-argument
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как я могу передать этот аргумент в неконфессиональный аргумент?
    Anonymous » » в форуме C++
    0 Ответы
    102 Просмотры
    Последнее сообщение Anonymous
  • Не может связать неконфессиональный при попытке вернуть ссылку на Global от Lambda
    Anonymous » » в форуме C++
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous
  • Прокси-констант в неконфессиональный неявный переход в C ++?
    Anonymous » » в форуме C++
    0 Ответы
    4 Просмотры
    Последнее сообщение Anonymous
  • Прокси-констант в неконфессиональный неявный переход в C ++?
    Anonymous » » в форуме C++
    0 Ответы
    4 Просмотры
    Последнее сообщение Anonymous
  • Как передать **kwargs аргумент, имеющий то же имя, что и позиционный аргумент?
    Anonymous » » в форуме Python
    0 Ответы
    58 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C++»