2015-05-19 5 views
1

Я переношу некоторый код из VS в mingw C++. Одно из утверждений в моем кодеCOM: convert 'const GUID *' to const wchar_t *

CFactoryTemplate g_Templates[1] = { 
    {&CLSID_SystemClock, CSystemClock::CreateInstance} 
}; 

int g_cTemplates = sizeof(g_Templates)/sizeof(g_Templates[0]); 

Я получаю следующее сообщение об ошибке на первом операторе

error: cannot convert 'const GUID* {aka const _GUID*}' to 'const WCHAR* {aka const wchar_t*}' in initialization

Я полностью озадачен этим. Я сделал небольшое расследование и заметил, что CFactoryTemplate - это класс в combase.h. Также мой проект включен UNICODE, если это имеет значение. Любые предложения по устранению этой проблемы?

+0

Сначала элемент m_Name является строкой. Сравните с [line 74] (https://github.com/rdp/screen-capture-recorder-to-video-windows-free/blob/master/source_code/setup.cpp). –

+0

Я не понимаю, что вы могли бы объяснить, где я должен искать m_Name – Rajeshwar

+1

Используйте '{L" SomeName ", & CLSID_SystemClock, CSystemClock :: CreateInstance}' –

ответ

4

Ваш код - вы говорите, что вы портируете неправильно, вам нужно предоставить различные параметры CFactoryTemplate, ошибка компилятора доказывает это. Здесь вы найдете некоторые примеры код для инициализации такого массива экземпляров этого класса (вам не нужно заполнить все поля):

// list of class ids and creator functions for class factory 

CFactoryTemplate g_Templates[2]= 
    { { L"Gargle filter"   // CFactoryTemplate.m_name 

    , &CLSID_Gargle   // CFactoryTemplate.m_ClsID 

    , CGargle::CreateInstance // CFactoryTemplate.m_lpfnNew 
    , NULL      // CFactoryTemplate.m_lpfnInit 
    , &sudGargle    // CFactoryTemplate.m_pAMovieSetup_Filter 
            } 
    , { L"Gargle filter property page" 
    , &CLSID_GargProp 
    , CGargleProperties::CreateInstance 
} 
}; 

int g_cTemplates = sizeof(g_Templates)/sizeof(g_Templates[0]); 

из https://msdn.microsoft.com/en-us/library/aa451506.aspx

также Ханс Passant дал вам другой пример

+0

Спасибо, что очистили это – Rajeshwar

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