2016-03-01 2 views
3

Я начинаю проект на C++, который включает в себя API Bloomberg. Я смог получить образец кода для компиляции и ссылки, а результат хорош, но некоторые небольшие изменения оказались сбивчивыми.Преобразование BloombergLP :: blpapi :: Name to 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

Предложение: ознакомьтесь с документацией. «Имя» не является символом 'char *'. Это очевидно. Если существует метод для * extract * a 'char *' из 'Name', это, вероятно, есть. Если вы не можете найти решение, нажмите клавишу F1 дважды и попросите поддержки. – Amit

+0

@Amit Документация на высоком уровне в порядке, но на уровне этой детали она, похоже, генерируется машиной из файлов заголовков и не помогает мне. –

+0

Прошло несколько лет с тех пор, как я в последний раз видел API или документацию, но это звучит не совсем правильно. Тем не менее, обратитесь в службу поддержки ... – Amit

ответ

2

field.name() возвращает BloombergLP::blpapi::Name не char * ...

Однако Name имеет string method which returns a const char *.

+0

Да, 'Name name1 = item.name();' работает, а 'Name' может быть преобразовано в строку с именем' name1.string() '. –

Смежные вопросы