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

Отсутствует оператор << соответствующий этим операндам

09.03.2018, 22:36. Показов 17281. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте ! Возникает такая ошибка: отсутствует оператор "<<", соответствующий этим операндам

При этом я пытаюсь сделать следующее:
C++
1
2
3
std::cout << "Name: " <<  *Name << "\nFamily: " <<  *Family << "\n\nBith Date: "; //Ругается на строчки вывода Name
    bith_date->Output(d_t);
    std::cout << "\n\nDescription: " << *disc;//И тут ругается на disc
К слову это я все описываю метод для класса, вот как выглядит обьявление и инициализация этих указателей:

Обьявление:
C++
1
2
3
4
5
6
private:
    Date *bith_date;
    std::string *Name;
    std::string *Family;
    std::string *disc;
    bool danger;

Инициализация:
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
Human::Human(int bith_y, int bith_m, int bith_d, std::string nam, std::string fam, std::string dis)
{
 
    danger = false;
    if (bith_d < 31 && bith_m <= 12)
    {
        bith_date = new Date(bith_y, bith_m, bith_d);
    }
 
 
    else
    {
        danger = true;
    }
 
    Name = new std::string(nam);
    Family = new std::string(fam);
    disc = new std::string(dis);
    
 
    if (disc->length() == 0)
    {
        *disc = (std::string)"None";
    }
 
}



Подскажите, в чем проблема ? Я испробовал разные способы, либо выводит адрес памяти, либо просто символы.
Заранее благодарен.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.03.2018, 22:36
Ответы с готовыми решениями:

C++ отсутствует оператор, соответствующий этим операндам
создал свой класс, перегрузил + и &lt;&lt;, с &lt;&lt; все хорошо, а плюсом какие-то проблемы. Не могу ничего...

Отсутствует оператор = соответствующий этим операндам
Компилятор ругается на отсутствует оператор = в 4 строке .Как убрать данную ошибку? class rok {...

Ошибка: Отсутствует оператор >> соответствующий этим операндам
Здравствуйте, понятия не имею в чем проблема 11 строчка #include &lt;iostream&gt; enum l_name {...

Отсутствует оператор >>, соответствующий этим операндам. В чем ошибка?
#include &quot;stdafx.h&quot; #include &quot;istream&quot; #include &quot;iostream&quot; using namespace std; int main() {...

6
nd2
3437 / 2816 / 1249
Регистрация: 29.01.2016
Сообщений: 9,426
10.03.2018, 01:22 2
Лучший ответ Сообщение было отмечено GRUB_666 как решение

Решение

Цитата Сообщение от GRUB_666 Посмотреть сообщение
отсутствует оператор "<<", соответствующий этим операндам
Это есть?
C++
1
#include <string>
1
626 / 390 / 135
Регистрация: 06.03.2017
Сообщений: 1,456
10.03.2018, 07:15 3
полагаю, должно было выйти что-то типа этого?


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
#include<iostream>
 
using namespace std;
 
class Human
{
    string name_;
public:
    Human (string name)
    {
        name_ = name;
    }
    void show()
    {
        cout <<  name_;
    }
};
 
int main()
{
    string text = "Fedor";
    Human a (text);
    a.show();
}
1
369 / 310 / 65
Регистрация: 14.10.2014
Сообщений: 1,318
10.03.2018, 12:37 4
Цитата Сообщение от Pilarentes Посмотреть сообщение
полагаю, должно было выйти что-то типа этого?
Нужно было как выше сказано:
Цитата Сообщение от nd2 Посмотреть сообщение
Это есть?

#include <string>
подключить библиотеку string:
C++
1
#include <string>
или
C++
1
#include <cstring>
возможно даже
C++
1
#include <string.h>
Всё зависит от компилятора.
Ну и код для примера:

Кликните здесь для просмотра всего текста

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
#include <iomanip>
#include <iostream>
#include <string>
 
 
class A
{
private:    
    std::string *Name;
    std::string *Family;
    std::string *disc;
    bool danger;
public:
    A()  
    {
        Name = new std::string("AAAA");
        Family = new std::string("BBB");;
        disc = new std::string("CCC");;
    }
    ~A()
    {
        delete Name;
        delete Family;
        delete disc;
    }
    void show()
    {
        std::cout << "Name: " << *Name << "\nFamily: " << *Family << "\n\nBith Date: ";             
        std::cout << "\nDescription:\n " << *disc << std::endl;
    }
};
 
 
int main()
{
    A a;
    a.show();
    system("pause");
    return 0;
}
1
0 / 0 / 1
Регистрация: 22.04.2017
Сообщений: 105
10.03.2018, 13:18  [ТС] 5
Спасибо, это действительно Эпик Фейл. Все теперь работает как надо.
0
nd2
3437 / 2816 / 1249
Регистрация: 29.01.2016
Сообщений: 9,426
10.03.2018, 14:22 6
Цитата Сообщение от Recrut_rf Посмотреть сообщение
или
C++
1
#include <cstring>
Цитата Сообщение от Recrut_rf Посмотреть сообщение
возможно даже
C++
1
#include <string.h>
Это каким боком к std::string относится? Это для Си-строк хедеры.
0
369 / 310 / 65
Регистрация: 14.10.2014
Сообщений: 1,318
10.03.2018, 14:36 7
Цитата Сообщение от nd2 Посмотреть сообщение
Это каким боком к std::string относится?
Извиняюсь - совсем забыл - <cstring> или <string.h> нужны для работы с Cи- строками. #include <string> а этой директивой подключаем строковый класс из STL, как раз тот, который и нужен был для корректной работы программы
0
10.03.2018, 14:36
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.03.2018, 14:36
Помогаю со студенческими работами здесь

Ошибка: отсутствует оператор >>,соответствующий этим операндам типы операндов: std::ostream>>const double
Помогите или объясните в чем моя ошибка?? Вот программный код! заголовочный файл #ifndef...

Ошибка E0349: отсутствует оператор "==", соответствующий этим операндам
Помогите пожалуйста найти причину этой ошибки. #include &lt;iostream&gt; #include &lt;fstream&gt; #include...

Ошибка E0349 отсутствует оператор "<<", соответствующий этим операндам
Типы операндов: std::basic_ostream&lt;char, std::char_traits&lt;char&gt;&gt; &lt;&lt; Matrix&lt;Rational&gt; ...

Не компилируется, ошибки: "отсутствует оператор, соответствующий этим операндам"
Помогите исправить ошибку, данные проект создавался в среде eclipse при переносе на VS 2010 стал...


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

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

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