Cast to UUserWidget class from C++

Yes, the cast is incorrect.
This is the syntax:

Cast<"TargetClass">("ObjectToBeCasted");

In return you get a pointer which is either “nullptr” if cast failed or a pointer of “TargetClass”.

So, in your case:

UContainerWidgetUpdate* containerWidgetUpdateCasted = Cast<UContainerWidgetUpdate>();
if(containerWidgetUpdateCasted != nullptr)
{
    containerWidgetUpdateCasted.UpdateWidget();
}

Note: You should always check if cast has failed, otherwise it’s very likely you will get crashes.