以下のプログラムでvoidポインタを削除しても大丈夫ですか。
class Sample
{
public:
int intVal;
float floatVal;
};
main() {
Sample *samObj = new Sample();
void *vPtr = samObj;
delete vPtr;
}
これは私が書いたサンプルプログラムです。実際、私のプロジェクトでは、同じようなことをする以外に方法はありません。この同様のコードは.hインターフェイスファイルにあり、このファイルをインクルードして他のコンポーネントをコンパイルすると、コンパイラは「警告:'void *'の削除は未定義です」という警告メッセージを表示しますが、ボイドを割り当てたので疑問です。サンプルオブジェクトタイプのポインタですが、このポインタを削除しても安全ではありませんか?