C++

In these days I’m porting a library from Qt4 to Qt5, and here’s how sticking to C++11 syntax has helped me catching a subtle porting problem. I had a class subclassing QTcpServer, overriding a virtual method with this syntax: void incomingConnection(int descriptor) override; Specifying the method as override  was enough to discover a breaking change in …

Continue reading Override and errors

Two days ago I was asked to have a look at a nonworking piece of code, based on boost::program_options, which went like this: options_description desc(“Usage”); desc.add_options() (“host,h”, value<string>(), “The host.”) (“file,f”, value<string>(), “This is the file.”); (“mode,m”, value<string>(), “The mode.”); If you don’t recognise the syntax, know that add_options() method of options_description returns a builder object (options_description_easy_init), with an operator () taking three parameters, which …

Continue reading Funny bug #20150127