Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# .NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.56/9: Рейтинг темы: голосов - 9, средняя оценка - 4.56
RANLOD
5 / 5 / 4
Регистрация: 27.05.2010
Сообщений: 48
1

Ошибка после конвертации метода на С++ к С#: "Неявное преобразование типа "int" в "bool" невозможно"

11.05.2013, 19:12. Просмотров 1707. Ответов 3
Метки нет (Все метки)

Ошибка после преобразования метода на С++ к С#: "Неявное преобразование типа "int" в "bool" невозможно"
Метод взят отсюда http://forum.sources.ru/index.php?showtopic=356803 Сообщение №2

Конвертированный код;
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
    static int Main()
    {
        int[] a = {1, 2, 3, 4};
        int n = a.Length;
        for(int i = (1 << n) - 1; i >=0; i--)
        {
            for(int j = 0; j < n; j++)
            {
                 //Ошибка в конструкции if(i & (1 << j)) "Неявное преобразование типа "int" в "bool" невозможно"
                if(i & (1 << j)) // Если выполняется - j-ый бит единица, число a[j] входит
                {
                    Console.Write(a[j]);
                    Console.Write(" ");
                }
            }
            Console.Write("\n");
        }
    }
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.05.2013, 19:12
Ответы с готовыми решениями:

Неявное преобразование типа "System.Drawing.Icon" в "System.Drawing.Image" невозможно
ПОдскажите как можно вставить рисунок в панель если использую ico. Неявное преобразование типа...

Ошибка CS0019: Оператор "*" не может применяться к операндам типа "decimal" и "float"
Здравствуйте! Писал приложение и наткнулся на интересную ошибку (честно говоря, я не совсем понимаю...

Оператор == не может применяться к операндам "группа методов" и "bool"?
public virtual bool IsInPointOfFall() { return true; } public void...

LINQ: Невозможно преобразовать "лямбда-выражение" к типу "string", поскольку он не является делегатом
Здравствуйте. Делаю приложение с использованием Entity Framework. Все было нормально, пока не...

Ошибка: "Не удалось привести тип объекта "System.ConsoleKeyInfo" к типу "System.IConvertible"."
При запуске пишет, что &quot;Не удалось привести тип объекта &quot;System.ConsoleKeyInfo&quot; к типу...

3
phantom96
MЫW
124 / 109 / 9
Регистрация: 15.02.2013
Сообщений: 538
11.05.2013, 19:26 2
не j = 0 а j == 0.
0
RANLOD
5 / 5 / 4
Регистрация: 27.05.2010
Сообщений: 48
11.05.2013, 19:39  [ТС] 3
phantom96 << это байтовый оператор сдвига а не больше, меньше
Как работает комбинация if(i & (1 << j)) в с++ я не знаю, поэтому и спрашиваю.
0
Somebody
2818 / 1628 / 252
Регистрация: 03.12.2007
Сообщений: 4,223
Завершенные тесты: 3
11.05.2013, 20:29 4
Важно не столько то, как работает, сколько то, что результат - int, а if'у надо bool.
C#
1
if ((i & (1 << j)) != 0)
1
11.05.2013, 20:29
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.05.2013, 20:29

Оператор "*" не может применяться к операндам типа "type" и "type"
public vector module() { return new vector(x * x + y * y + z * z); } ...

Переопределить операции "+" "=" "-" для экземпляров моего класса
Добрый день. Мне нужно переопределить операции &quot;+&quot; &quot;=&quot; &quot;-&quot; для экземпляров моего класса. Я вижу это...

Не удается преобразовать из типа "char" в тип "string"
Возникла необходимость отправить нескольким адресатам Email сообщение. Для этого я базу данных с...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.