There were two issues. First, I made a mistake when I switched from unsigned to signed integers. Second, two classes with the same name were defined in separate files. Those classes are in an anonymus namespace now, so that they don't leak into other files.