The following code does not compile.

import std.stdio;
interface A {
        public void a(int l);
class ACl:A {
        public void a(int l) {
                writeln("Hello a");

interface B: A {
        public void a(string l, int k);

class BCl: ACl, B {
        public void a(string l, int k) {
                writeln("Hello B.a", l, k);

int main() {
        B b = new BCl();
        return 0;

However casting B to A like (cast(A)b).a(1); makes it work.


Reply via email to