```
int main() {

 class A {
    public:
    static double test_code(const A& a);
  };

   class B : public A {
   public:
   B(int i) { };
   static double test_code2(const B& b);
   };

A::test_code(2);
B::test_code2(2);

return 0;

}

```

cf : <http://ideone.com/ilfE8>

The first method call will not compile, while the second will. Is there any way to make this conversion work? thanks