Не назначил что-то в функции

123
02 июля 2019, 05:10

Не понимаю почему компилятор выдаёт, что я не назначил что-то в функции. Объясните, как это делать правильно (уже который раз с этим сталкиваюсь).

Ошибки на фото

#include <iostream>
  using namespace std;
  int n,type;
  void size_activity(int size=0,int leftside=0,int rightside=0,int number=0)
    {
      cout << "Enter the digit of the desired number.";
        cin >> size;
      if( size <= 0)
       {
         cout << "Incorrect digit.The number should be natural." << endl;
       }
      else
        {
          for(int i = 1; i <= size ; i++)
          {
            number=1;
            number=number*10;
            leftside=number-1;
            rightside=number+1;
          }
        }
    }
  void digit_looking(int digit=0)
    {
      cout << "Enter the number of digit , you looking for in the number." << endl;
        cin >> digit;
    }
  void min(int min=rightside,int div=0)
    {
      for(int i = 0; i < n; i++)
        {
          if(leftside < a[i] < rightside)
            {
              int n=a[i];
              for(int p = 0 ; p < digit;p++)
                {
                 div=n*10;
                }
              if((n)mod(div)==0)
               {
                 if((n)<min)
                 {
                   min=a[i];
                 }
               }
              cout << "The minimum number, meeting the conditions is " << min << endl;
            }
          else
            {
              cout << "There is no numbers , meeting the conditions" << endl;
            }
        }
    }
  void max(int max = leftside,int div=0)
  {
    for(int i = 0; i < n; i++)
      {
        if(leftside < a[i] < rightside)
          {
            int k=a[i];
            for(int p = 0 ; p < digit;p++)
              {
               div=k*10;
              }
            if((k)mod(div)==0)
             {
               if((k)>max)
               {
                 max=a[i];
               }
             }
            cout << "The maximum number, meeting the conditions is " << max << endl;
          }
        else
          {
            cout << "There is no numbers , meeting the conditions" << endl;
          }
      }
  }
  int main ()
  {
    cout << "Enter the size of number's raw." << endl;
      cin >> n;
    cout << "Choose : minimum or maximum." << endl;
      cin >> type;
    int a[n];
      for(int i = 0; i < n; i++)
        cin >> a[i];
      void size_activity();
      void digit_looking();
      switch (type)
        {
          case 1:
              min();
            break;
          case 2:
              max();
            break;
        }
    return 0;
  }
Answer 1
void min(int min=rightside,int div=0)

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

if(leftside < a[i] < rightside)

Нигде не описано, что такое leftside, a и rightside - непонятно, что это за переменные.

 for(int p = 0 ; p < digit;p++)

Здесь не объявленная переменная digit.

 if((n)mod(div)==0)

В С++ нет оператора mod.

 int a[n];

В С++ нельзя объявлять массив с неизвестным компилятору размером.

Все ошибки пересмотреть трудно, начние с выпрявления этих самых простых.

READ ALSO
Как удалить идущие подряд дубликаты в списке?

Как удалить идущие подряд дубликаты в списке?

У меня есть List<String> со значениями например ["a", "a", "a", "b", "c", "c", "d", "d", "d"] из него должно получиться ["a", "b", "d"]Причём, если после удаления дубликатов...

134
Выделение строки цветом в TableView

Выделение строки цветом в TableView

Есть POJO-класс Option c одним String полем description

141
Не вызывается addButtonAction

Не вызывается addButtonAction

Есть один FXML файл "samplefxml" код ниже:

157
Java выдается ошибка при компиляции

Java выдается ошибка при компиляции

Нашел в инете код но он выдает ошибку:

137