Как использовать этот код с помощью Loki с настройкой языка C++20?C++

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

Сообщение Anonymous »

Итак, у меня есть база кода msvc 1990-х годов, которую я обновляю для поддержки C++20. У меня есть следующий минимальный пример, который работает с использованием настроек языка C++17, но при использовании C++20 под ним выдается сообщение об ошибке. Для компиляции требуется библиотека Loki, которую при необходимости можно найти здесь: https://github.com/dutor/loki. Если у меня есть способ предоставить компилируемую версию этого кода без необходимости копировать/вставлять все заголовки Loki, я смогу это сделать, если кто-нибудь скажет мне, как это сделать.
Код:

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

#include 
#include 
#include 

template 
struct RxTypeDispatcher
{
template 
static R Execute(TFunction f)
{
using Tail = typename TypeList::Tail;
return RxTypeDispatcher::Execute(f);
}
};
Первая часть сообщения компилятора:

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

1>TestTypeDispatch.cpp
1>D:\source\TestTypeDispatch.cpp(12,49): error C3878: syntax error: unexpected token '>' following 'simple-type-specifier'
1>    D:\source\TestTypeDispatch.cpp(12,49):
1>    missing one of: ( { ?
(В строке 12 столбца 49 имеется в виду закрывающий > после буквы R, который является аргументами шаблона для выполнения).
I' Я пробовал различные варианты кодирования ИИ, но они ни к чему не привели. Я предполагаю, что это какая-то проблема с отсутствием где-то «имени типа», потому что 90% перехода на C++20 было именно этим. Но я больше не могу найти места, где я мог бы попытаться добавить это в этот код, а сам исходный код Loki, откровенно говоря, выходит у меня из головы. Я даже не думаю, что использование Loki больше необходимо, но на самом деле переписать все это - это целый проект, поэтому я бы предпочел, чтобы это заработало.
Я нашел блог сообщение, в котором упоминается конкурс на обновление Loki до C++20, но я не могу найти никаких результатов или того, что это повлечет за собой; если есть какие-либо версии Локи, которые мне нужно использовать, чтобы это работало, возможно, я тоже могу это сделать? Любые предложения о том, куда двигаться дальше, приветствуются.

Подробнее здесь: https://stackoverflow.com/questions/793 ... ge-setting
Ответить

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

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

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

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

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