2008-10-18 18 views
-1

我想在我的代碼,由於某種原因,以創建一個Xercesc DOM解析器,並嘗試instiate的XercescDOM對象,我得到一個空指針返回。我使用xercesc版本2.8 下面的代碼。錯誤創建xercesc DOM解析器對象

using namespace xercesc; 
int main(int argc, char*argv[]) 
{ 
try 
{ 
    XMLPlatformUtils::Initialize(); 
} 
catch (const XMLException& e) 
{ 
    char* errMsg = XMLString::transcode(e.getMessage()); 
    cout << "Problem initializing parser: " << errMsg; 
    XMLString::release(&errMsg); 
} 

XercesDOMParser* parser = new XercesDOMParser(); 
if (!parser) 
    cout << "Failed to create parser"; 
} 
+0

「新」永不返回新的C++實現空。唯一的原因,去NULL從新的是當沒有記憶,並在新的C++它與例外處理。 Dis Xerces爲該類重載「新」?非常可疑。你正在使用什麼編譯器? – Arkadiy 2008-10-30 14:22:30

回答

1

@Doug:不,這是沒有關係的,據我所知,因爲你掛嘗試代碼來將文檔從parse()方法獲取,但是這是一個void function,所以結果永遠是「空「這種方式。

,否則我看不出與父後的任何問題。它編譯幾乎可以,在這裏我有一個正確的結果(非空解析器)。

0

這是一個錯誤的一些其他地方在我的代碼。