実行時にポインタと参照を区別するにはどうすればよいですか?例えば、ポインタであるかどうかを知らずにデータ型のポインタを解放したいのであれば、どうすればよいでしょうか?変数がスタックまたはmalloc()によって割り当てられているかどうかを確認する方法はありますか?実行時にポインタと参照を区別するANSI C++
void destInt(int* var)
{
free(var);
}
int num = 3;
int &numRef = num;
int* numPtr = (int*)malloc(sizeof(int));
*numPtr = num;
destInt(&numRef); //Syntactically correct but generates invalid pointer()
destInt(numPtr); //Fine syntactically and logically
これはCではありません。または、Cのように見えません。 – strager
Cには参照がありません... –
また、あなたの "destInt(numRef);"構文的にはまったく正しいものではありません。参照をint *を受け付ける関数に渡すことはできません。 –