次のヘッダー ファイル (c++) を使用することを検討してください。myclass.hpp
#ifndef MYCLASSHPP_
#define MYCLASSHPP_
namespace A {
namespace B {
namespace C {
class myclass { /* Something */ };
myclass& operator+(const myclass& mc, int i);
}}}
#endif
実装ファイルを考えてみましょう:myclass.cpp
#include "myclass.hpp"
using namespace A::B::C;
myclass& operator+(const myclass& mc, int i) {
/* Doing something */
}
メインファイルを検討してください:main.cpp
#include "myclass.hpp"
int main() {
A::B::C::myclass el = A::B::C::myclass();
el + 1;
}
さて、リンカーは、未定義の参照があることを教えてくれますA::B::C::operator+(A::B::C::myclass const&, int)
ここで何が問題なのですか?