Again, while the SYNTAX may appear correct I find myself in Visual Studio setting a debgu break on the LOC and examining the variables.
OR printing the variables to a debug output.
You might be trying to avoid checking that.
WHY IT MATTERS. Because during execution some of the variables are results from prior calls. If a prior call returned say a NULL then execution could contine until it hit this specific LOC. LOC = Line Of Code.
Also you have to other issue of an outdated Visual Studio. I could not find documentation on this so it's best at this point to file a ticket.
BONUS: My current VS is 2022 Pro which I picked off Woot for 50 USD. I find my time is worth keeping that current.