#include <stdio.h>
struct test {
    int _a;
    test(int a) : _a(a) { }

#if !defined(_MSC_VER) && !defined(__GNUC__)
// note: not in gcc4.5, gcc4.6 or vc10
    test() : test(42) { }
#endif
};
struct subclass : test {
    using test::test;
};

int main(int,char**)
{
    test a;
    test b(1);
    subclass c(1);

    return 0;
}
