Ми кечни го, де.
Кви са тия извратени конструкции дето ги ползваш? Тва __finally неква жабария. Начи C++ мъжете прават така:
class ReadLocker
{
public:
ReadLocker(File*stream)
: _stream(stream)
{
_lock_str(_stream); /* lock stream */
}
~ReadLocker()
{
_unlock_str(_stream); /* unlock stream */
}
private:
FILE* _stream;
};
size_t __cdecl fread (
void *buffer,
size_t size,
size_t count,
FILE *stream )
{
size_t retval = 0;
try {
ReadLocker(stream);
/* do the read */
retval = _fread_lk(buffer, size, count, stream);
}
catch(const exception& e){
e;
}
return retval;
}
Редакция:
Т.е. исках да намекна, че нема да е зле да видиш къв изцепшън мета.
Кодът съм го писал директно тук, та не претендирам че се компилира.
Още редакция: ако _fread_lk се изцепи, връщаш неква неинициализирана стекова тойност.
System Doctor Error:
Your girlfriend is pregnant.
(A)bort, (M)arry, (I)gnore?_Редактирано от Colombino на 02.05.08 13:55.