2013-07-05 50 views
0

我對C++的某些語法元素感到不舒服,特別是關於編譯和包含。我試圖實現以下Q & A中列出的解決方案:如何在C++代碼中包含模板?

boost::property_tree::json_parser and two-byte wide characters

在這樣做時,粘貼在被列入我的.cpp文件的.h文件中建議的模板代碼。我還增加了以下我的.cpp的頂部,以爲我需要參考什麼我重寫:

#include "boost/property_tree/detail/json_parser_write.hpp" 

我收到以下編譯錯誤:

Error 11 error C2912: explicit specialization; 'std::basic_string<_Elem,_Traits,_Ax> boost::property_tree::json_parser::create_escapes(const std::basic_string<_Elem,_Traits,_Ax> &)' is not a specialization of a function template d:\abr.trunk\e1\livesdencoder\web\encodingservice\h264presentation.h 151 

我在做什麼錯誤地得到這個覆蓋的create_escapes註冊使用?提前致謝!!

+0

如果不包含該文件,會發生什麼情況? –

+0

我收到包含或不包含相同的錯誤。 –

回答

0

把所有的相同的.hpp文件...記住:模板就像宏... 祝你好運!

+0

我不想編輯boost .hpp文件。你的意思是我應該把模板定義放在我自己調用write_xml函數的.cpp文件中?如果我這樣做,我是否需要添加一些東西到我的.h文件? –

+0

好消息...我將該模板粘貼到.cpp文件中,並且工作正常。我猜這個.h文件是錯誤的地方。感謝大家的幫助。 –

相關問題