TimerManager.SetTimer - Нет жизнеспособной функции - функция отсутствует const QualifierC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 TimerManager.SetTimer - Нет жизнеспособной функции - функция отсутствует const Qualifier

Сообщение Anonymous »

Я пытаюсь переключить свет после указанной задержки в Unreal 5.x. Это мой подход: < /p>

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

void AC_LightSwitch_CodeOnly::ToggleLightAfterDelay(int32 DelayInMilliseconds) const
{
FTimerHandle Timer;
FTimerDelegate const& Delegate = FTimerDelegate::CreateLambda([]
{
UC_Logger::Warn("Light Switch Async fired");
});
const UWorld* World = GetWorld();
const FTimerManager& TimerManager = World->GetTimerManager();
float Delay = DelayInMilliseconds / 1000.0F;
>>  TimerManager.SetTimer(Timer, Delegate, Delay, false, -1.f); // No viable function
// Function is missing const qualifier
}
< /code>
На маркированной строке я получаю ошибку компилятора, сообщая мне, что нет совпадения перегрузки ... но я просто не могу понять ... < /p>

Перегрузка, которую я пытаюсь использовать: < /p>
inline void SetTimer(FTimerHandle& InOutHandle, FTimerDelegate const& InDelegate, float InRate, bool InbLoop, float InFirstDelay = -1)
Я также попытался удалить const из делегата много пробовал, но я просто не могу понять, почему это говорит мне об этом. Делегирование - это констант < /p>

Вот подсказка от Rider для выпуска: подсказка < /p>
и для лучшего кода Readablilty Экриншот этого раздела: Цветный код < /p>

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

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

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

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

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

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