【问题标题】:C3867 : '_com_error::Description': non-standard syntax; use '&' to create a pointer to memberC3867:'_com_error::Description':非标准语法;使用 '&' 创建指向成员的指针
【发布时间】:2019-04-04 09:25:14
【问题描述】:

我想在连接到数据库时捕获异常,我正在使用 try catch,我使用指针,但无论如何它给了我这样的错误。 C3867 '_com_error::Description': non-standard syntax; use '&' to create a pointer to member。 e.Description 上也没有红线,它只是在错误列表中给了我这个按摩。 什么是解决方案?提前谢谢你。

try
{

}
catch (_com_error &e)
{
    printf(e.Description);
}

【问题讨论】:

    标签: c++ pointers exception com try-catch


    【解决方案1】:

    _com_error::Description 是一个函数。

    你需要使用 ():

    try 
    {
    }
    catch (_com_error &e)
    {
        printf(e.Description());
    }
    

    附带说明:Description() 返回一个 _bstr_t,它可能不适用于 printf()...

    【讨论】:

    • 谢谢。但是我可以用什么代替printf?我是 C++ 新手。提前谢谢你
    • 不清楚。你想让我做什么 ?只是把它放到控制台上? printf() 无论如何都是一个 C 函数,也许更好:#include 而不是 printf 使用:std::wcout
    • 顺便说一句,使用 COM 是开始学习 C++ 的一种非常糟糕的方式...... COM 接口类恕我直言是灾难性的和复杂的。如果开始 C++,这会教你一个非常糟糕的风格,并让你假设 C++ 非常复杂......
    • 如何将错误显示为消息框?它不是控制台应用程序
    • 我知道,但我有使用 com 库的项目:/
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-03-30
    • 1970-01-01
    • 2021-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多