Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[44.221.46.132] |
|
Сообщ.
#1
,
|
|
|
Пытаюсь использовать try catch, но мне выдаёт ошибку
Цитата error C3699: &: это косвенное обращение невозможно использовать для типа "System::Exception" private: System::Void board_CellValueChanged(System::Object^ sender, System::Windows::Forms::DataGridViewCellEventArgs^ e) { try{ board[e->ColumnIndex,e->RowIndex]->Value = board[e->ColumnIndex,e->RowIndex]->Value->ToString()->ToUpper(); } catch(Exception& e){} } |
Сообщ.
#2
,
|
|
|
Цитата Katerina1993 @ Пытаюсь использовать try catch, но мне выдаёт ошибку Вы бы для начала почитали, чем отличается C++/CLR(который к С++ не имеет отношения и является поделкой Microsoft для склеивания кода на native C++ и кода managed code .NET) от С++. И уж тогда бы начинали с правильного создания проекта. У вас 90% вопросов, которые вы тут задаете - отпали бы сами собой. Я так понял изучаете вы С++ по книжкам С++, но пишете почему то на С++ CRL. Вы тогда уж либо книжку возьмите по С++ CLR либо создавайте проект C++(без всяких CLI/CLR). Конкретно в вашем случае вам компилятор говорит что ссылочные типы С++ не применимы к объектам .NET. Другими словами вы ловите исключение типа System::Exception - которое является частью .NET, но пишете & в опереторе catch. Тут нужно либо так: try{ board[e->ColumnIndex,e->RowIndex]->Value = board[e->ColumnIndex,e->RowIndex]->Value->ToString()->ToUpper(); } catch(Exception e){} //! <<<<<< Без & } Либо так: try{ board[e->ColumnIndex,e->RowIndex]->Value = board[e->ColumnIndex,e->RowIndex]->Value->ToString()->ToUpper(); } catch(std::exception& e){} } Добавлено Вот на википедии про С++ CLI(про который вы тут вопросы задаете) -> https://ru.wikipedia.org/wiki/C%2B%2B/CLI А вот на той же самой википедии статья про С++ -> https://ru.wikipedia.org/wiki/C%2B%2B на котором вы якобы пытаетесь писать. Только получается у вас наоборот почему то. Если вы специально используете С++ CLI(например учительница вас заставила на нем писать), так значит и читать литературу нужно по этому языку, а не по С++. |