我的程序中包含兩個函數庫,它們的函數名都相同,但我需要能夠使用這兩個函數,但我也需要C++來知道我指的是哪一個(在某些地方我只會指的是一個或另一個)。我這樣做的原因是因爲我正在製作自己的圖書館,並且想爲自己的函數設置特定的名稱,但它們與我包含在其他人的圖書館中的函數相沖突,並且使情況更糟糕我的函數在我的函數庫中實際使用了其他具有相同名稱的人類函數庫中的函數。如何告訴C++使用不同的函數(與另一個函數具有相同的名稱)?
順便說一下,我的庫只是一個.h/.cpp文件。另外,當調用我的功能時,我不想要任何額外的行李,如myNameSpace :: myFunc()。我只想稱它爲myFunc()。但是,我並不介意使用名稱空間來調用其他人的函數(儘管我不想修改他們的函數庫以防我破壞某些東西)。 (我完全新的C++順便說一句)
HERES MY NEW(TEST - SO FAR)編號:不工作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;
}
}
otherslib.h
#pragma once
int myFunc();
otherslib.cpp
#include "otherslib.h"
int myFunc(){
return 0;
}
使用一個命名空間。這就是他們的目的。 – chris 2013-04-09 03:56:56