2012-07-03 86 views
0

我使用VC++ 6.0和在編寫的代碼我得到這個錯誤「錯誤C2995:‘getVector’:模板函數已經被定義」錯誤C2995:「getVector」:模板函數已經被定義

我將WIN32COMMON的值包含在項目Settings-> C++選項卡中,並在作爲預處理器的 類別組合框中以及在_WIN32COMMON預處理器定義文本框中以及在Adddition include Libraries文本框中將完整路徑作爲「E:\ app \用戶\產品\ 11.1.0 \ DB_1 \ OCI \包括」。在這個包含文件夾中的所有頭文件都存在,如「occi.h」。

我也試圖與我的代碼中顯式定義WIN32COMMON如下

#include<iostream> 
#define WIN32COMMON 
#include <occi.h> 
using namespace oracle::occi; 
using namespace std; 

但隨後我開始給102個錯誤,指出「DbManager未聲明的標識符」。

我也嘗試過在項目設置 - >鏈接選項卡 - > 和類別組合框中選擇輸入,並在附加庫路徑中給出.lib文件的完整路徑爲「E: \ app \ user \ product \ 11.1.0 \ db_1 \ OCI \ lib \ MSVC \ vc8「,但這也沒有奏效。有人可以請指導我。在IAM缺乏或我需要在我的代碼中定義其他東西。

+0

VS 2006 ??那應該是2005年? 2008年? –

+0

Iam非常srry!我忘了提及它是vC++ 6.0。我錯誤地寫了2006年。 –

+0

只是一個想法:不要添加'使用命名空間..;',只需使用完整命名版本的功能! – Naszta

回答

0

MSVC++ 6.0不支持函數模板的部分排序。嘗試在代碼中將getVector()替換爲getVectorOfRefs()

甲骨文加入getVectorOfRefs()到OCCI支持老微軟編譯器,如MSVC6,並建議在地方的getVector()使用它。

+0

您的意思是我應該將occicontrol.h中的getvector()函數替換爲getvectorofrefs()。因爲我沒有在我的代碼中包含任何getvector()函數!我也向你展示我的代碼!它只是一個連接到oracle的簡單代碼!我從來沒有通過C++完成數據庫連接。 –

+0

任何人都可以請告訴我一步一步的過程在我的代碼或Visual Studio 6.0中缺少什麼,以便我可以連接到我的數據庫!下面是我寫的代碼。 –

+0

是的,如果您顯示代碼 - 最好是不編譯的最小代碼片段會更好。 – vond