C ++:创建Object的本地副本

时间:2015-06-03 00:29:33

标签: c++ c++11 sqlanywhere ultralite

我是一名挣扎于C ++代码的客观C开发人员。

以下是我在C ++中的代码:

{% regroup user_phones|dictsort:"primary" by primary as phones_list %}

{% for items in phones_list %}
    {% if items.grouper %}
    {% with items.list.0 as phone %}
    <div>{% if phone.type %}{{ phone.type|title }}: {% endif %}<span itemprop="telephone">{{ phone.phone_format }}</span></div>
    {% endwith %}
    {% endif %}
{% endfor %}

我需要创建ULConnection *conn; ...... //code that builds up the connection conn->GetLastError()->GetString(value, 255); 的本地副本(不是引用)。

如何获取本地参考并检查null?

这是我失败的尝试:

GetLastError()

2 个答案:

答案 0 :(得分:2)

根据我的理解函数conn->GetLastError()返回ULError的指针,需要检查返回指针是否为空。

这对你有用。

const ULError *error = conn->GetLastError();
if (error){}

从C ++ 11开始,您可以执行以下操作,而不是与NULL

进行比较
if( error != nullptr)

答案 1 :(得分:-2)

假设GetLastError返回一个指针

1>PocoFoundationCLR.lib(RandomStream.obj) : error LNK2019: unresolved external symbol __imp__CryptAcquireContextW@20 referenced in function "public: virtual int __thiscall Poco::RandomBuf::readFromDevice(char *,__int64)" (?readFromDevice@RandomBuf@Poco@@UAEHPAD_J@Z)

1>PocoFoundationCLR.lib(RandomStream.obj) : error LNK2019: unresolved external symbol __imp__CryptReleaseContext@8 referenced in function "public: virtual int __thiscall Poco::RandomBuf::readFromDevice(char *,__int64)" (?readFromDevice@RandomBuf@Poco@@UAEHPAD_J@Z)

1>PocoFoundationCLR.lib(RandomStream.obj) : error LNK2019: unresolved external symbol __imp__CryptGenRandom@12 referenced in function "public: virtual int __thiscall Poco::RandomBuf::readFromDevice(char *,__int64)" (?readFromDevice@RandomBuf@Poco@@UAEHPAD_J@Z)