Strange C++ syntax

Viewed 834

I have 8 years of coding experience, but I have never seen the operator [] passed as a parameter to the function definition.

For example, the following code (from an open source project):

bree::porder(m_root, [] (treenode* node) { delete node; }); 

Throughout my coding life, I have always defined [] as an operator overloader, not as a parameter.

So what does this new syntax signify?

I am using the compiler that comes with Visual Studio 2003. How can I change the above code so that it will compile in VS 2003?

3 Answers
Related