gpt4 book ai didi

c++ - COM : convert 'const GUID*' to const wchar_t*

转载 作者:行者123 更新时间:2023-11-30 01:48:34 25 4
gpt4 key购买 nike

我正在将一些代码从 VS 移植到 mingw C++。我的代码中的语句之一是

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。关于如何解决此问题的任何建议?

最佳答案

你的代码 - 你说你移植是错误的,你需要为 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

Hans Passant 也给了你其他的例子

关于c++ - COM : convert 'const GUID*' to const wchar_t*,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30332295/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com