指向struct C ++中指针的指针

时间:2015-02-21 02:06:59

标签: c++ c pointers structure

这是结构

typedef struct PSetting 
{
unsigned char Level;
unsigned int Mall;
unsigned int Many;
WCHAR* Name; // optional
} PSetting;

PSetting p;
p.Name = L"NewName";
p.Level = 5;
p.Mall= 0;
p.Mall= 0;

我需要为结构创建一个成员并将其传递给此API:

PSettingAPI(proxy, PSetting **p, NULL)

但是,当我这样做时,我有这个错误:

no suitable conversion function from "PSetting" to "Psetting **" exists.

1 个答案:

答案 0 :(得分:2)

您正尝试直接传递PSetting类型的对象。 API函数需要一个指向PSetting(PSetting ** p)的指针作为第二个参数。

PSetting p;
PSetting* pointerToPSetting = &p;
PSetting** pointerToPointerToPSetting = &pointerToPSetting;

现在将pointerToPointerToPSetting传递给函数。请注意,这可能是PSetting的二维数组。