#include <iostream>
#include "interface.h"
int main()
{
interface::Sounds::val.foo();
return 0;
}
#pragma once
#include <iostream>
class A{
public: //public added here
void foo();
};
namespace interface{
namespace Sounds{
//note the extern here . This is a declaration
extern A val;
};
}
#include "interface.h"
void A::foo(){
std::cout<<1;
}
//definition
A interface::Sounds::val;