1 / 1 / 0
Регистрация: 05.06.2012
Сообщений: 112

Почему возникает ошибка "возвращает значение не для всех ветвей кода"

24.06.2012, 10:30. Показов 4595. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Выводит такую ошибку "not all code paths return a value"
Что делать?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
24.06.2012, 10:30
Ответы с готовыми решениями:

Почему возникает ошибка "Длина входного массива больше числа столбцов в этой таблице" при работе кода примера программы?
Почему возникает ошибка "Длина входного массива больше числа столбцов в этой таблице" при работе кода примера программы? using...

При загрузке полученой программы для добавления кода возникает ошибка softbttn.ocx could not be loaded
При загрузке полученой проекта для добавления кода возникает ошибка softbttn.ocx could not be loaded crystl32.ocx coul not be loaded--...

При отладке возникает ошибка InvalidArgument - Значение '-1' недопустимо для 'index'
Вот код: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; ...

5
556 / 510 / 25
Регистрация: 23.07.2009
Сообщений: 2,359
Записей в блоге: 1
24.06.2012, 10:33
ошибка возникает, например, здесь:

C#
1
2
3
4
5
private int foo(int a){
   if (a > 0){
      return -1;
   }
}
понятно? ф-я должна возвращать какое-нибудь значение не только в случае a>0, но и в случае если нет.
если не можешь разобраться, приведи код.
0
1 / 1 / 0
Регистрация: 05.06.2012
Сообщений: 112
24.06.2012, 11:31  [ТС]
В этом методе мне нужно получить не void а конечное значение "x" и "y"; Как мне это зделать.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
public void LeftTop(Bitmap img, ref int[,] mas)
        {
            mas = new int[img.Width, img.Height];
            for (int x = 0; x < img.Height / 16; x++)
            {
                for (int y = 0; y < img.Width / 18; y++)
                {
                    Color color = img.GetPixel(x, y);
                    if (color.R < 5 && color.G < 5 && color.B < 5)
                    {
                        var ver1 = y;
                        do
                        {
                            y++;
                        } while (color.R < 100 && color.B < 100 && color.G < 100);
 
                        x += (y - ver1) / 4;
                        y = (y - ver1) + (((y - ver1) / 4) / 3);
                    }
 
                    if (color.R < 100 && color.B < 100 && color.G < 100)
                    {
                        int ver2 = y;
                        do
                        {
                            y++;
                        } while (color.R < 100 && color.B < 100 && color.G < 100);
                        x += (y - ver2) / 5;
                        y += (y - ver2) / 5;
                    }
                    if (color.R < 100 && color.B < 100 && color.G < 100)
                    {
                        int ver3 = y;
                        do
                        {
                            y++;
                        } while (color.R < 100 && color.B < 100 && color.G < 100);
 
                        x += (y - ver3) / 6;
                        y += (y - ver3) / 2;
                    }
                    if (color.R < 100 && color.B < 100 && color.G < 100)
                    {
                        int gor = x;
                        do
                        {
                            x--;
                        } while ((color.R < 100 && color.B < 100 && color.G < 100));
                        x += (gor - x) / 2;
                        
                    }
                   
                }
 
            }
 
        }
и вот в этом методе мне выдает такую ошибку "not all code paths return a value"
0
 Аватар для Lasur
267 / 257 / 43
Регистрация: 18.03.2012
Сообщений: 506
24.06.2012, 11:47
Вариант 1
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
public void LeftTop(Bitmap img,  ref int[,] mas, ref int x, ref int y)
{
    mas = new int[img.Width, img.Height];
    for (x = 0; x < img.Height / 16; x++)
    {
        for (y = 0; y < img.Width / 18; y++)
        {
            Color color = img.GetPixel(x, y);
            if (color.R < 5 && color.G < 5 && color.B < 5)
            {
                var ver1 = y;
                do
                {
                    y++;
                } while (color.R < 100 && color.B < 100 && color.G < 100);
                x += (y - ver1) / 4;
                y = (y - ver1) + (((y - ver1) / 4) / 3);
            }
            if (color.R < 100 && color.B < 100 && color.G < 100)
            {
                int ver2 = y;
                do
                {
                    y++;
                } while (color.R < 100 && color.B < 100 && color.G < 100);
                x += (y - ver2) / 5;
                y += (y - ver2) / 5;
            }
            if (color.R < 100 && color.B < 100 && color.G < 100)
            {
                int ver3 = y;
                do
                {
                    y++;
                } while (color.R < 100 && color.B < 100 && color.G < 100);
                x += (y - ver3) / 6;
                y += (y - ver3) / 2;
            }
            if (color.R < 100 && color.B < 100 && color.G < 100)
            {
                int gor = x;
                do
                {
                    x--;
                } while ((color.R < 100 && color.B < 100 && color.G < 100));
                x += (gor - x) / 2;
            }
        }
    }
}

Вариант 2
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
public Tuple<int, int> LeftTop(Bitmap img, ref int[,] mas)
{
    mas = new int[img.Width, img.Height];
    int x, y = 0;
    for (x = 0; x < img.Height / 16; x++)
    {
        for (y = 0; y < img.Width / 18; y++)
        {
            Color color = img.GetPixel(x, y);
            if (color.R < 5 && color.G < 5 && color.B < 5)
            {
                var ver1 = y;
                do
                {
                    y++;
                } while (color.R < 100 && color.B < 100 && color.G < 100);
 
                x += (y - ver1) / 4;
                y = (y - ver1) + (((y - ver1) / 4) / 3);
            }
            if (color.R < 100 && color.B < 100 && color.G < 100)
            {
                int ver2 = y;
                do
                {
                    y++;
                } while (color.R < 100 && color.B < 100 && color.G < 100);
                x += (y - ver2) / 5;
                y += (y - ver2) / 5;
            }
            if (color.R < 100 && color.B < 100 && color.G < 100)
            {
                int ver3 = y;
                do
                {
                    y++;
                } while (color.R < 100 && color.B < 100 && color.G < 100);
 
                x += (y - ver3) / 6;
                y += (y - ver3) / 2;
            }
            if (color.R < 100 && color.B < 100 && color.G < 100)
            {
                int gor = x;
                do
                {
                    x--;
                } while ((color.R < 100 && color.B < 100 && color.G < 100));
                x += (gor - x) / 2;
            }
        }
    }
    return new Tuple<int, int>(x, y);
}
0
1 / 1 / 0
Регистрация: 05.06.2012
Сообщений: 112
24.06.2012, 11:59  [ТС]
return new Tuple<int, int>(x, y); выдает ошибку. "Tuple" это переменная или что. Программа спрашивает меня создать класс? Что делать?

Добавлено через 4 минуты
Как будет "using" мне оказывается надо подключать.
0
 Аватар для Lasur
267 / 257 / 43
Регистрация: 18.03.2012
Сообщений: 506
24.06.2012, 12:30
Цитата Сообщение от Медет Посмотреть сообщение
Как будет "using" мне оказывается надо подключать.
C#
1
using System;
Получение значений во втором варианте:
C#
1
2
3
var t = LeftTop(/*параметры...*/);
int x = t.Item1;
int y = t.Item2;
Цитата Сообщение от Медет Посмотреть сообщение
Программа спрашивает меня создать класс? Что делать?
Скажите ей "да"
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
24.06.2012, 12:30
Помогаю со студенческими работами здесь

Почему возникает ошибка?
Короче надо найти такое k при котором интеграл будет равен l Почему он ругается?? Равно стоит Булеан

Почему возникает ошибка?
Всем добрый день!. Создаю json в программе, подставляя определенные данные циклом из listview. Внешне json получается нормальным, но...

Почему возникает ошибка
Всем привет. Не могу понять почему в моем коде возникает такая ошибка: super().__init__(hitpoint) TypeError: object.__init__() takes...

Почему возникает ошибка?
internal class Program { private static void CatHungry(object sender, HungerEventArgs e) { ...

Почему возникает ошибка?
template &lt;class T&gt; class HashTable { .... }; class FileHashTable: public HashTable &lt;Policy&gt; { public: FileHashTable()...


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

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

Новые блоги и статьи
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru