Вы реализуете некоторую функцию или вызываете некоторую функцию?
Если вы вызываете какую-то функцию, вполне вероятно, что какая-то функция будет выделять память, поэтому все, что вам нужно сделать, - передать ее в безопасное место, чтобы потом ее можно было почистить и почистить.
tchar **theErrors = 0; // a vector of tchar vectors.
somefunction(&theErrors);
if (theErrors) {
// use the error values
// free the memory somehow - this is for a null-terminated convention
tchar **victim = theErrors;
while (*victim) delete[](*victim++);
delete[] theErrors;
}
Примечание: я использую 0 и удаляю [] вместо NULL и свободен, потому что в теге написано c ++.