Модераторы: Partizan, gambit
  

Поиск:

Закрытая темаСоздание новой темы Создание опроса
> Ошибка: "not all code paths return a value", как избавиться? 
:(
    Опции темы
Stream86
Дата 3.12.2006, 21:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 33
Регистрация: 13.11.2006
Где: Ukraine->Sumy

Репутация: нет
Всего: нет



Вообщем начинаю осваивать C# на Borland C# Builder из BDS 2006,  но вот не пойму вылетает ошибка:
not all code paths return a value
Вот сам код, это ф-ция для нахождения НОД двух чисел:
Код

class myown
    {
      static public int iNod(int a, int b)
      {
       int min;
        if (a< b)
        min = a;
        else
        min = b;
        for (int i=min; i>0; i--)
        if (((a%i)==0)&&((b%i)==0))
        return i;
      }

функция iNod на C++ билдере работает, а на C# не хочет. Что я не так делаю???
PM MAIL ICQ   Вверх
Djuffin
Дата 3.12.2006, 21:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 55
Регистрация: 18.3.2005

Репутация: 1
Всего: 2



Добавь в конце  по вкусу
Код

return 0;


или

Код

throw new Exception("Impossible!")


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

Это сообщение отредактировал(а) Djuffin - 3.12.2006, 22:10
PM MAIL   Вверх
Stream86
Дата 3.12.2006, 21:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 33
Регистрация: 13.11.2006
Где: Ukraine->Sumy

Репутация: нет
Всего: нет



Djuffin
Спасибо, заработало. 
Кто-нить знает, существует ли faq по C# Builder, подобный drkb?
PM MAIL ICQ   Вверх
mr.DUDA
Дата 3.12.2006, 22:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 110
Всего: 232



Цитата(Stream86 @  3.12.2006,  20:48 Найти цитируемый пост)
Кто-нить знает, существует ли faq по C# Builder, подобный drkb?

ФАК нет, есть мсдн, там ответы на все вопросы. Рекомендую не пренебрегать туториалами и how-to, их там понапихано дочёрта и с кучей примеров. Обычно все почему-то читают только reference - описание классов и методов - и совершенно обходят вниманием приведённый материал (а ведь он богаче, и по структурированности приближается к FAQ).


--------------------
user posted image
PM MAIL WWW   Вверх
Stream86
Дата 3.12.2006, 22:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 33
Регистрация: 13.11.2006
Где: Ukraine->Sumy

Репутация: нет
Всего: нет



mr.DUDA, ссылочка есть? Если нет, то ладно, я поищу. Просто не хочется каждый раз по C# глупые вопросы задавать.
PM MAIL ICQ   Вверх
mr.DUDA
Дата 3.12.2006, 22:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 110
Всего: 232



http://msdn.microsoft.com

или аналогичная ссылка на Russian зоне (см. MSDN Worldwide)


--------------------
user posted image
PM MAIL WWW   Вверх
Stream86
Дата 3.12.2006, 23:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 33
Регистрация: 13.11.2006
Где: Ukraine->Sumy

Репутация: нет
Всего: нет



Опять задаю глупый вопрос. Вообщем вот аналог на Делфи
for i:=0 to (length(input)-1) do
result:=result+chr(FtI(Cd[i])+191);
Edit9.Text:=result;
result и input типа string, CD - массив типа real (float для с). На шарпе пишу
Код

for (int i = 0; i < input.Length; i++)
result=Convert.ToString((char)(Cd[i]+64));
textBox8.Text=result;

естественно билдер ругается. Но как это написать я чёто не пойму.
PM MAIL ICQ   Вверх
ivashkanet
Дата 4.12.2006, 00:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодю потиху
****


Профиль
Группа: Участник Клуба
Сообщений: 3684
Регистрация: 23.2.2006
Где: Гомель, Беларусь

Репутация: 47
Всего: 149



Да все нормально  smile 
У тя гду-то в другом месте глючит   smile 
Код

            float[] Cd = new float[5];
            string result="";

            for (int i = 0; i < Cd.Length; i++)
                result += Convert.ToString((char)(Cd[i] + 64));

Компилится на ура. Запускаем и получаем полный result "собак"   smile 

Что за ошибку пишет?
PM MAIL WWW ICQ   Вверх
Stream86
Дата 4.12.2006, 00:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 33
Регистрация: 13.11.2006
Где: Ukraine->Sumy

Репутация: нет
Всего: нет



да нет массив описан раньше нормально, а input читается с textBox`a
Код

float[] Cd = new float[99];
input=textBox1.Text;
string result="";
.........................
for (int i = 0; i < input.Length; i++)
      result += Convert.ToString((char)(Cd[i] + 64));

вылетает ошибка "Use of unassigned local variable 'result' "
по ходу не хочет писть в result

Добавлено @ 00:26 
ivashkanet, всё, спасибо нашёл ошибку
прсто надо было описать 
Код

string result="";

а у меня было
Код

string result;

PM MAIL ICQ   Вверх
Stream86
Дата 4.12.2006, 01:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 33
Регистрация: 13.11.2006
Где: Ukraine->Sumy

Репутация: нет
Всего: нет



Всё!!! Заделал лабу по криптологии по RSA на C#. Естественно она работает с небольшими числами, не больше типа double, но для лабы этого достаточно, это ж не курсач. Вывод: C# - довольно таки интересный и удобный язык, буду изучать.  Перестраиваться с Delphi. Лижбы времени хватало.
PM MAIL ICQ   Вверх
Stream86
Дата 12.12.2006, 16:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 33
Регистрация: 13.11.2006
Где: Ukraine->Sumy

Репутация: нет
Всего: нет



Непойму, что я делаю не так при создании массива?
Код

class cons
        {
            static public    int[][] IP1= new int[8][8] 
            {
                {58, 50, 42, 34, 26, 18, 10, 02},
                {60, 52, 44, 36, 28, 20, 12, 04},
                {62, 54, 46, 38, 30, 22, 14, 06},
                {64, 56, 48, 40, 32, 24, 16, 08},
                {07, 49, 41, 33, 25, 17, 09, 01},
                {59, 51, 43, 35, 27, 19, 11, 03},
                {61, 53, 45, 37, 29, 21, 13, 05},
                {63, 55, 47, 39, 31, 23, 15, 07}
            };
        }

PM MAIL ICQ   Вверх
ivashkanet
Дата 12.12.2006, 16:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодю потиху
****


Профиль
Группа: Участник Клуба
Сообщений: 3684
Регистрация: 23.2.2006
Где: Гомель, Беларусь

Репутация: 47
Всего: 149



Цитата(Stream86 @  12.12.2006,  15:19 Найти цитируемый пост)
Непойму, что я делаю не так при создании массива?

Дай текст ошибки. Сколько можно повторять.

Код

            static public    int[,] IP1= new int[8,8] 
            {
                {58, 50, 42, 34, 26, 18, 10, 02},
                {60, 52, 44, 36, 28, 20, 12, 04},
                {62, 54, 46, 38, 30, 22, 14, 06},
                {64, 56, 48, 40, 32, 24, 16, 08},
                {07, 49, 41, 33, 25, 17, 09, 01},
                {59, 51, 43, 35, 27, 19, 11, 03},
                {61, 53, 45, 37, 29, 21, 13, 05},
                {63, 55, 47, 39, 31, 23, 15, 07}
            };

Либо 
Код

            static public    int[][] IP1= new int[][] 
            {
                new int[]{58, 50, 42, 34, 26, 18, 10, 02},
                new int[]{60, 52, 44, 36, 28, 20, 12, 04},
                new int[]{62, 54, 46, 38, 30, 22, 14, 06},
                new int[]{64, 56, 48, 40, 32, 24, 16, 08},
                new int[]{07, 49, 41, 33, 25, 17, 09, 01},
                new int[]{59, 51, 43, 35, 27, 19, 11, 03},
                new int[]{61, 53, 45, 37, 29, 21, 13, 05},
                new int[]{63, 55, 47, 39, 31, 23, 15, 07}
            };


Двумерный массив и массив массивов --- это разные вещи  smile 
PM MAIL WWW ICQ   Вверх
Stream86
Дата 12.12.2006, 16:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 33
Регистрация: 13.11.2006
Где: Ukraine->Sumy

Репутация: нет
Всего: нет



Ощибка была "Incorrectly structured array initialized". Первый вариант мне и нужен был, спасибо.
Цитата

Двумерный массив и массив массивов --- это разные вещи

ну естественно. Хотя массив массивов мне в моей проге будет нужен, спасибо что показал как он описывается.
PM MAIL ICQ   Вверх
ivashkanet
Дата 12.12.2006, 16:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодю потиху
****


Профиль
Группа: Участник Клуба
Сообщений: 3684
Регистрация: 23.2.2006
Где: Гомель, Беларусь

Репутация: 47
Всего: 149



Цитата(Stream86 @  12.12.2006,  15:32 Найти цитируемый пост)
спасибо

Заходите еще  smile 
Только в другую тему, пожалуйста, ибо
 smile Одна тема --- один вопрос  smile 

ЗЫ На всякий случай: первый вариант --- двумерный массив, второй --- массив массивов
ЗЗЫ Если объявляешь массив явно, то его размеры можно не указывать. Они вычислялся компилятором. 
PM MAIL WWW ICQ   Вверх
mr.DUDA
Дата 12.12.2006, 19:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 110
Всего: 232




 ! 
mr.DUDA
Stream86, одна тема - один вопрос. Эту закрываю.



--------------------
user posted image
PM MAIL WWW   Вверх
  
Закрытая темаСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0860 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.