考虑使用以下头文件 (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)
这里有什么问题?