Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
"type" : не удается поймать собственный тип с помощью деструктора __clrcall или конструктора копирования
Замечания
Модуль, скомпилированный с / clr , попытался поймать исключение собственного типа и где деструктор типа или конструктор копирования использует __clrcall соглашение о вызове.
При компиляции с / clr обработка исключений ожидает, что функции-члены в собственном типе будут __cdecl , а не __clrcall. Собственные типы с функциями-членами с помощью __clrcall соглашения о вызовах не могут быть пойманы в модуле, скомпилированном с помощью /clr.
Дополнительные сведения см. в разделе /clr (компиляция CLR).
Пример
В следующем примере создается C2743.
// C2743.cpp
// compile with: /clr
public struct S {
__clrcall ~S() {}
};
public struct T {
~T() {}
};
int main() {
try {}
catch(S) {} // C2743
// try the following line instead
// catch(T) {}
try {}
catch(S*) {} // OK
}