2016-03-01 112 views
3

我開始使用涉及Bloomberg API的C++項目。我已經能夠獲得示例代碼來編譯和鏈接,並且輸出很好,但是一些小的變化已經證明混淆。將BloombergLP :: blpapi :: Name轉換爲const char *

例如,試圖訪問一個元素的名字的時候,我用

const char* holderString; 
const Element fields = security.getElement(FIELD_DATA); 
Element field = fields.getElement(1); 
holderString = field.name(); 

和最後一行觸發編譯時錯誤

"no suitable conversion function from "BloombergLP::blpapi::Name" 
    to "const char *" exists" 

有什麼建議?

+0

建議:閱讀文檔。一個'Name'不是'char *'。這很明顯。如果有一種方法*從'Name'中提取* char *',那麼它可能就在那裏。如果找不到解決方案,請按兩次F1鍵並尋求支持。 – Amit

+0

@Amit高級文檔很好,但在這個細節的層面上,它似乎是從頭文件中機器生成的,對我沒有幫助。 –

+0

自從我上次看到API或文檔以來已經過去了幾年,但這聽起來不太正確。然後,聯繫支持... – Amit

回答

2

field.name()返回BloombergLP::blpapi::Name不是char * ...

然而Namestring method which returns a const char *

+0

是的,'名稱name1 = item.name();'工作,然後'Name'可以被轉換爲一個字符串'name1.string()'。 –