1

上記のポインターを返す (出力) 引数を取得するこの関数にラッパーを記述する必要があるconst void* getData()定数データへのポインターを返す関数があります。const void*

void wrapGetData([type] ppData) {
*ppData = getData();
}

は何[type]ですか?getData() は const へのポインターを返すため、void ** は適合しません。

4

2 に答える 2

5

getData()を返す場合はvoid const *、次のように[type]する必要がありますvoid const * &

void wrapGetData(void const * & ppData) 
{
    ppData = getData();
}

出力パラメーター&と同様に、必要であることに注意してください。ppData

この関数は次のように呼び出すことができます。

void const * output;

wrapGetData(output); 

これは、関数を次のように呼び出す必要がある他のソリューションとは少し異なります。

wrapGetData(&output); //if [type] = const void **

const void*void const*は同じものであることに注意してください。したがって、構文と混同しないでください。


これは、関数を次のように呼び出す必要がある他のソリューションとは少し異なります。

wrapGetData(&output); //if [type] = const void **

それが役立つことを願っています。

于 2013-01-06T14:42:51.010 に答える
2

const void**:

const void *getData() {
  return nullptr;
}

void wrapGetData(const void** ppData) {
  *ppData = getData();
}

int main() {
  const void *p;
  wrapGetData(&p);
}
于 2013-01-06T14:44:35.547 に答える