Форум программистов, компьютерный форум, киберфорум
C++/CLI
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
 Аватар для Zombi_sib
379 / 332 / 89
Регистрация: 26.05.2010
Сообщений: 750

Ошибка при передаче перечисления как параметра

01.03.2015, 16:22. Показов 1069. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте! Я пока в С++ начинающий студия 2012, проблема такая учусь по книжки Хортона, создал пример указанный в книги (там студия 2010) может есть отличия.

Просветите начинающего, код ниже:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include "stdafx.h"
 
using namespace System;
 
enum class Suit{Clubs, Diamonds, Hearts, Spades};
 
int main(array<System::String ^> ^args)
{
   Suit suit = Suit::Clubs;
int value = safe_cast<int>(suit);
Console::WriteLine(L"Масть - {0} и значение - {1} ", suit, value);
suit = Suit::Diamonds;
value = safe_cast<int>(suit);
Console::WriteLine(L"Macть - {0} и значение - {1} ", suit, value);
suit = Suit::Hearts;
value = safe_cast<int>(suit);
Console::WriteLine(L"Macть - {0} и значение - {1} ", suit, value);
suit = Suit::Spades;
value = safe_cast<int>(suit);
Console::WriteLine(L"Macть - {0} и значение - {1} ", suit, value);
 
return 0;
}
Ошибка:
error C2665: System::Console::WriteLine: ни одна из 19 перегрузок не может преобразовать все типы аргументов
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
01.03.2015, 16:22
Ответы с готовыми решениями:

Ошибка при передаче параметра в функцию
В ДЗ есть пример кода, помогите пожалуйста исправить, до работающего варианта (VS2015). Ошибки: (32) error C2660: strcpy_s: функция не...

Ошибка при передаче параметра в класс
Здраствуйте ,данный код реализирует класс &quot;танк&quot;, на 82 строчке размещен цикл-счетчик выстрелов .Сам цикл работает корректно и переменная...

Ошибка при передаче параметра хранимой процедуре
Здравствуйте! Возникла ошибка &quot;EDatabaseError with message'IBstoredProc1:Parameter 'str' not found'&quot; при попытке передать значение...

9
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9005 / 4706 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
01.03.2015, 16:45
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include "stdafx.h"
enum class Suit:int {Clube, Diamonds, Hearts, Spades};
using namespace System;
 
int main(array<System::String ^> ^args)
{
    Suit suit = Suit::Diamonds;
    int val = safe_cast<int>(suit);
    //чтобы получить значение целого типа к целому нужно привести явно (закоментируйте и раскоментируйте ненужное))
    Console::WriteLine(L"Целое= {0} перечисление = {1} ", val, suit/*safe_cast<int>(suit)*/);
    Console::ReadLine();
    return 0;
}
1
 Аватар для Zombi_sib
379 / 332 / 89
Регистрация: 26.05.2010
Сообщений: 750
01.03.2015, 16:49  [ТС]
int val = safe_cast<int>(suit); зачем тогда вот эта строчка
0
2444 / 1842 / 406
Регистрация: 15.12.2013
Сообщений: 8,243
01.03.2015, 17:52
Цитата Сообщение от Zombi_sib Посмотреть сообщение
int val = safe_cast<int>(suit); зачем тогда вот эта строчка
Приведение типов.

IGPIGP, тип int у enum по умолчанию,можно не указывать явно

Цитата Сообщение от Zombi_sib Посмотреть сообщение
Ошибка:
error C2665: System::Console::WriteLine: ни одна из 19 перегрузок не может преобразовать все типы аргументов
VS12 не всегда адекватно пишет ошибки для C++/CLI
Добавьте модификатор доступа public и ошибка исчезнет.
1
 Аватар для Zombi_sib
379 / 332 / 89
Регистрация: 26.05.2010
Сообщений: 750
01.03.2015, 18:04  [ТС]
Цитата Сообщение от S_el Посмотреть сообщение
Добавьте модификатор доступа public и ошибка исчезнет.
Кодом не покажешь куда и как я пока только начинаю изучать С++

Добавлено через 7 минут
все разобрался как написать только не совсем это понятно осталось, если можно объясните
0
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9005 / 4706 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
01.03.2015, 18:15
Цитата Сообщение от S_el Посмотреть сообщение
можно не указывать явно
Это не ошибка. Я пишу потому, что так читать легче. Язык поддерживается обеими руками за горло и никто не знает как это будет компилироваться. Микрософтсы большие выдумщики-новаторы. Имхо, конечно.
0
2444 / 1842 / 406
Регистрация: 15.12.2013
Сообщений: 8,243
01.03.2015, 18:30
Цитата Сообщение от Zombi_sib Посмотреть сообщение
Кодом не покажешь куда и как я пока только начинаю изучать С++
C++
1
public enum class Suit{Clubs, Diamonds, Hearts, Spades};
Цитата Сообщение от Zombi_sib Посмотреть сообщение
если можно объясните
А что объяснить?

Цитата Сообщение от IGPIGP Посмотреть сообщение
Язык поддерживается обеими руками за горло и никто не знает как это будет компилироваться. Микрософтсы большие выдумщики-новаторы.
Да,сомневаюсь что microsoft будет поддерживать C++/CLI с учетом успеха C#. Слышал хотят еще какое-то расширение для C++ создать,но насколько это правда - не знаю.
1
 Аватар для Zombi_sib
379 / 332 / 89
Регистрация: 26.05.2010
Сообщений: 750
01.03.2015, 18:42  [ТС]
спасибо буду дальше изучать
0
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9005 / 4706 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
01.03.2015, 19:36
Цитата Сообщение от S_el Посмотреть сообщение
Да,сомневаюсь что microsoft будет поддерживать
У меня и сомнений нет. Говорю же:
Цитата Сообщение от IGPIGP Посмотреть сообщение
за горло
Посмотрите на сайте MS. Кругом пишется, что "в настоящее время не поддерживается". Я понимаю "настоящее время" как настоящее-длительное. Длительность, - до конца времени.
1
2444 / 1842 / 406
Регистрация: 15.12.2013
Сообщений: 8,243
01.03.2015, 19:42
IGPIGP, значит надо ждать альтернативу.Все-таки удобно использовать C++ с возможностями .Net. Хотя и C# до приемлемого уровня не сложно выучить.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
01.03.2015, 19:42
Помогаю со студенческими работами здесь

Тип данных при передаче массива контролов как параметра
Добрый день. Такой вопрос меня мучит. Передаю в процедуру как параметр один стандартный контрол (например PictureBox). Никаких проблем:...

при передаче параметра
Такая проблема есть документ с ТЗ1 и копка добавить, по ее нажатию сделал обработку чтобы сразу заполнить все колонки ТЗ1, но в обработке...

Ideone - исключение при передаче параметра
Пробую на ideone.com ввести параметр args - кот, пишет Exception in thread &quot;main&quot; java.lang.ArrayIndexOutOfBoundsException: 0. ...

Использование указателя при передаче параметра
Добрый вечер! Надо оформить функцию &quot;LoadTexture&quot;. Вот задачка: IDirect3DTexture9 *tex; LoadTexture(???tex); ... ...

Разные размеры параметра при передаче в функцию
собственно столкнулся с необычной проблемой есть программа состоящая из двух частей, основной и дополнительной (в смысле исходный код) ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит: токи, напряжения и их 1 и 2 производные при t = 0;. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru