我想用Embarcadero C++ Builder 2010中的CComHeapPtr智能指針,但找不到任何提供的頭文件中的定義。我得到這個錯誤。沒有CComHeapPtr與C + + Builder 2010?
[BCC32 Error] E2451 Undefined symbol 'CComHeapPtr'
這不是在atlbase.h
(和atlalloc.h
似乎是完全缺失)。
我打算用這個來給出從IShellFolder::ParseDisplayName
返回的ItemIDList
的異常安全釋放。
它是否出現在這個版本中,還是C++ Builder只使用ATL的令人難以置信的舊版本?
而且,除了自己滾動之外,還有更好的選擇嗎?
C++ Builder *是否有任何版本的ATL - 該庫僅附帶MS Visual Studio的非免費版本?毫無疑問,'CComHeapPtr'是一個'ATL'類。 – 2013-02-26 10:20:19
是的,它當然可以。特別是ATLBASE.H(有MS版權)和標準'CComPtr'的東西都可以。 – Roddy 2013-02-26 10:29:32
它可能是一個簡化版本,與WDK中包含的版本類似。我不認爲'CComHeapPtr'始終在ATL中,我想它是在Visual Studio 2002-2003版本中添加的,並且是一個相對「新」的類。 – 2013-02-26 10:34:09