Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/14: Рейтинг темы: голосов - 14, средняя оценка - 4.57
0 / 0 / 0
Регистрация: 31.12.2018
Сообщений: 2
1

Множественные ошибки в коде С++

31.12.2018, 19:49. Показов 2716. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
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
#include <iostream>
#include <locale.h>
#include <conio.h>
#include <math.h>
using namespace std;
class Shaiba{
private:
    int a;
   float S;
public:
    Shaiba(int a)
    {
       S=3*sqrt(3)*pow(a,2)/2;
    };
    int print_sqrt(float S)
    {
    cout << S << endl;
    }
};
int main()
{
    setlocale(LC_ALL,"Rus");
    Shaiba s1;
    cout << "Введите сторону шестиугольника:" << endl;
    cin >> Shaiba(s1.a);
    s1.print_sqrt();
    return 0;
}
Первая ошибка при создании объекта s1 Error: no maching function for call Shaiba::Shaiba()
Вторая ошибка в объявлении переменной "а" Error: int Shaiba::a is private , эта проблема пропадает когда я убираю using namespace std; , но после этого перестают работать cout,cin...
На счет странных функций вывода,то это по заданию так надо
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
31.12.2018, 19:49
Ответы с готовыми решениями:

Исправить множественные ошибки
Помогите пожалуйста найти и исправить ошибки в следующем файле: #include &lt;stdio.h&gt; #include...

Множественные ошибки в заголовочных файлах
Компилятор DDK выдает кучу ошибок в его же заголовках — winbase.h, wdm.h, ntdef.h, там выходит...

множественные ошибки в простом проэкте
#include&lt;cmath&gt; #include&lt;iostream&gt; #include &lt;locale.h&gt; using namespace std; int main() {...

Множественные ошибки при компиляции приложения
unit Unit9; {$mode objfpc}{$H+} interface uses Classes, SysUtils, FileUtil, Forms,...

6
61 / 28 / 24
Регистрация: 28.09.2017
Сообщений: 399
31.12.2018, 21:12 2
Лучший ответ Сообщение было отмечено BoscoSt как решение

Решение

BoscoSt, на самом деле ничего непонятно
Но для успешной компиляции:
Цитата Сообщение от BoscoSt Посмотреть сообщение
Первая ошибка при создании объекта s1 Error: no maching function for call Shaiba::Shaiba()
В классе отсутствует конструктор по умолчанию, так что добавьте в класс "Shaiba() {}" или при объявлении "Shaiba s1(5)" (В скобках число, которое вам нужно)
Цитата Сообщение от BoscoSt Посмотреть сообщение
Вторая ошибка в объявлении переменной "а" Error: int Shaiba::a is private
Переменная-член "a" вне области видимости, так как находится в "private" секторе класса.
1
83 / 20 / 0
Регистрация: 30.10.2018
Сообщений: 106
31.12.2018, 21:29 3
BoscoSt, что это за ужас??? я про код, тут даже заинтересовавшемуся сложно разобраться будет
0
0 / 0 / 0
Регистрация: 31.12.2018
Сообщений: 2
31.12.2018, 22:00  [ТС] 4
Я все разобрал,спасибо, но еще один вопрос:
Мне нужно с клавиатуры считать число
Я создаю объект s1, записываю в s1.a число определенное, но вызвать конструктор и вставить туда число не получается
s1.Shaiba(s1.a) не проходит и пишет invalid use Shaiba::Shaiba
0
Модератор
Эксперт С++
13507 / 10757 / 6412
Регистрация: 18.12.2011
Сообщений: 28,712
31.12.2018, 22:09 5
Лучший ответ Сообщение было отмечено BoscoSt как решение

Решение

Конструкторы в явном виде вызывать не надо:
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
class Shaiba{
private:
    int a;
public:
    Shaiba(int a=0)
    {
        this->a=a;
    }
    double S()
    {
        return 3.*sqrt(3.)*a*a/2.0;
    }
    void print_sqrt(float S)
    {
    cout << S() << endl;
    }
};
int main()
{
    setlocale(LC_ALL,"Rus");
    cout << "Введите сторону шестиугольника:" << endl;
    int b;
    cin >>b;
    Shaiba s1(b); //вот здесь вызывается конструктор
    s1.print_sqrt();
    return 0;
}
1
171 / 104 / 25
Регистрация: 17.10.2010
Сообщений: 1,146
01.01.2019, 14:41 6
zss, может все таки вот так:
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
#include <iostream>
using namespace std;
class Shaiba {
private:
    int a;
public:
    Shaiba(int a = 0)
    {
        this->a = a;
    }
    double S()
    {
        return 3.*sqrt(3.)*a*a / 2.0;
    }
    void print_sqrt(float S)
    {
        cout << S << endl;
    }
};
int main()
{
    setlocale(LC_ALL, "Rus");
    cout << "Введите сторону шестиугольника:" << endl;
    int a;
    cin >> a;
    Shaiba s1(a); //вот здесь вызывается конструктор
    s1.print_sqrt(3.0);
    cout << 3.*sqrt(3.)*a*a / 2.0;
    system("pause");
    return 0;
}
Добавлено через 6 минут
А то ваш код:
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
#include <iostream>
using namespace std;
class Shaiba {
private:
    int a;
public:
    Shaiba(int a = 0)
    {
        this->a = a;
    }
    double S()
    {
        return 3.*sqrt(3.)*a*a / 2.0;
    }
    void print_sqrt(float S)
    {
        cout << S() << endl;
    }
};
int main()
{
    setlocale(LC_ALL, "Rus");
    cout << "Введите сторону шестиугольника:" << endl;
    int b;
    cin >> b;
    Shaiba s1(b); //вот здесь вызывается конструктор
    s1.print_sqrt();
    return 0;
}
1)Severity Code Description Project File Line Suppression State
Error C2660'Shaiba:rint_sqrt': function does not take 0 arguments Class Shaiba c:\users\asus\desktop\projects\c++\console\p4300\class shaiba\class shaiba\class shaiba\class shaiba.cpp;
2)Severity Code Description Project File Line Suppression State
Error (active) expression preceding parentheses of apparent call must have (pointer-to-) function type Class Shaiba c:\Users\Asus\Desktop\Projects\C++\Console\p4300\Class Shaiba\Class Shaiba\Class Shaiba\Class Shaiba.cpp;
3)Severity Code Description Project File Line Suppression State
Error C2064 term does not evaluate to a function taking 0 arguments Class Shaiba c:\users\asus\desktop\projects\c++\console\p4300\class shaiba\class shaiba\class shaiba\class shaiba.cpp;
4)Severity Code Description Project File Line Suppression State
Error (active) too few arguments in function call Class Shaiba c:\Users\Asus\Desktop\Projects\C++\Console\p4300\Class Shaiba\Class Shaiba\Class Shaiba\Class Shaiba.cpp;
0
Модератор
Эксперт С++
13507 / 10757 / 6412
Регистрация: 18.12.2011
Сообщений: 28,712
01.01.2019, 21:57 7
Опечатка была только одна
Вместо
Цитата Сообщение от zss Посмотреть сообщение
void print_sqrt(float S)
Надо
C++
1
    void print_sqrt()
Забыл убрать параметр этой функции.
Вы могли бы догадаться по ее вызову:
Цитата Сообщение от zss Посмотреть сообщение
s1.print_sqrt();
1
01.01.2019, 21:57
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.01.2019, 21:57
Помогаю со студенческими работами здесь

Множественные ошибки контрольных сумм файлов и запуска служб
Компьютер - на i5 3470 или подобном, диск механический 500ГБ, работал нормально с лицензией пару...

Исправить множественные ошибки типа "This function or variable may be unsafe"
помогите исправить апшибки :) #include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;stdlib.h&gt;...

"Платёжная система",множественные ошибки в структуре
#include &quot;stdafx.h&quot; #include &quot;stdio.h&quot; #include &quot;time.h&quot; #include &quot;locale.h&quot; #include...

Найти ошибки в коде и исправить эти ошибки (Наследование)
Вот в общем 3 файла, изучаю наследование на примере односвязного и двусвязного списков: list.h...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru