Fix MSVC++’s “for”

Fix MSVC++’s “for”

MSVC has a small, but annoying bug with the scope of variables defined in “for” loops. For example, the following fragment is valid C++, but will not compile on MSVC:

 for(int i=0; I<10; i++) {    DoSomeThing();}for(int i=0; I<10; i++) {    DoSomeThingElse();}

MSVC will complain about the second for loop, because the variable "i" is defined as if it were scoped just outside of the first "for" loop.

What follows is a quick one liner to put at the top of your file, (or even better, in your MSVC-specific header files, since everyone is, of course, targeting multiple platforms and compilers):

 #define for if(false) {} else for

With this code, "for" loops will have the semantics that they should, with one small exception: should you type/syntax err badly enough to have an "else" clause right after your "for" loop, the compiler will not catch the error. But I've never heard of this happening anyway.

Share the Post:
Heading photo, Metadata.

What is Metadata?

What is metadata? Well, It’s an odd concept to wrap your head around. Metadata is essentially the secondary layer of data that tracks details about the “regular” data. The regular

XDR solutions

The Benefits of Using XDR Solutions

Cybercriminals constantly adapt their strategies, developing newer, more powerful, and intelligent ways to attack your network. Since security professionals must innovate as well, more conventional endpoint detection solutions have evolved

AI is revolutionizing fraud detection

How AI is Revolutionizing Fraud Detection

Artificial intelligence – commonly known as AI – means a form of technology with multiple uses. As a result, it has become extremely valuable to a number of businesses across

AI innovation

Companies Leading AI Innovation in 2023

Artificial intelligence (AI) has been transforming industries and revolutionizing business operations. AI’s potential to enhance efficiency and productivity has become crucial to many businesses. As we move into 2023, several

data fivetran pricing

Fivetran Pricing Explained

One of the biggest trends of the 21st century is the massive surge in analytics. Analytics is the process of utilizing data to drive future decision-making. With so much of

kubernetes logging

Kubernetes Logging: What You Need to Know

Kubernetes from Google is one of the most popular open-source and free container management solutions made to make managing and deploying applications easier. It has a solid architecture that makes