我的程序中包含两个库,它们都具有相同的函数名称,但我需要能够同时使用这两个库,但我还需要 C++ 知道我指的是哪一个(在某些地方我只会指非此即彼)。我这样做的原因是因为我正在制作自己的库,并且我想为我的函数命名,但它们与我包含的其他库中的函数冲突,更糟糕的是,有些我的库中的函数实际上使用了其他人库中具有相同名称的函数。
顺便说一下,我的库只是一个 .h/.cpp 文件。此外,在调用 MY 函数时,我不想要任何额外的行李,例如 myNameSpace::myFunc()。我只想称它为 myFunc()。但是,我不介意使用命名空间调用其他人的函数(尽管我不想修改他们的库以防我破坏某些东西)。(顺便说一句,我对 C++ 完全陌生)
这是我的新(测试 - 到目前为止)代码:不工作 W/错误:错误 C2668:'myFunc':对重载函数的模糊调用
主程序.cpp
#include "otherslib.h"
#include "mylib.h"
#include <iostream>
using namespace myNamespace;
int main(){
std::cout << myFunc() << std::endl;
return 0;
}
mylib.h
#pragma once
namespace myNamespace{
int myFunc();
}
mylib.cpp
#include "mylib.h"
namespace myNamespace{
int myFunc(){
return 1;
}
}
其他lib.h
#pragma once
int myFunc();
其他lib.cpp
#include "otherslib.h"
int myFunc(){
return 0;
}