Форум программистов, компьютерный форум CyberForum.ru

Ошибка : бинарный "<<": не найден оператор, принимающий правый операнд типа point - C++

Восстановить пароль Регистрация
 
t_t_s
0 / 0 / 0
Регистрация: 25.02.2014
Сообщений: 11
09.04.2014, 21:32     Ошибка : бинарный "<<": не найден оператор, принимающий правый операнд типа point #1
В задаче нужно найти две наиболее удаленные друг от друга очки. выдает следующую ошибку:
error C2679: бинарный "<<": не найден оператор, принимающий правый операнд типа "point" (или приемлемое преобразование отсутствует)
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
#include "stdafx.h"
#include "fstream"
#include "cmath"
 
using namespace std;
 
struct point
{
    int x, y, z;
};
 
double dlina (point a, point b)
{  double h;
   h=((a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y)+(a.z-b.z)*(a.z-b.z));
   double s=sqrt(h);
   return s;
    
}
 
int main()
{
    point t[100];
    ifstream in ("input.txt");
    ofstream out ("output.txt");
 
int i=0;
while(!in.eof())
{
    in>>t[i].x>>t[i].y>>t[i].z;
    i++;
}
int n=i;
i=0;
double max=dlina(t[0],t[1]);
int l=0, k=1;
for(i=0; i<n-1; i++)
{
    for(int j=i+1; j<n; j++)
    {
        if(max<dlina(t[i],t[j]))
        {
            max=dlina(t[i],t[j]);
            l=i;
            k=j;
        }
    }
}
out<<t[l]<<"\t"<<t[k]<<endl;
in.close();
out.close();
return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.04.2014, 21:32     Ошибка : бинарный "<<": не найден оператор, принимающий правый операнд типа point
Посмотрите здесь:

C++ Ошибка в коде. не найден оператор, принимающий правый операнд типа 'int'
error C2678: бинарный ">>": не найден оператор, принимающий левый операнд типа "std::basic_istream<_Elem,_Traits>" C++
C++ Исправить ошибку:error C2678: бинарный ">>": не найден оператор, принимающий левый операнд типа "std::istream"
C++ Error C2678: бинарный ">>": не найден оператор, принимающий левый операнд типа "std::istream"
C++ Конструкторы, приведение типа и ошибка "Не найден оператор, принимающий правый операнд типа 'char *'"
Error C2678: бинарный "<<": не найден оператор, принимающий левый операнд типа "std::ifstream" C++
Бинарный ">>": не найден оператор, принимающий левый операнд типа "std::istream" C++
Error C2679: бинарный ">>": не найден оператор, принимающий правый операнд C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Wlk
49 / 49 / 13
Регистрация: 07.12.2011
Сообщений: 133
10.04.2014, 14:31     Ошибка : бинарный "<<": не найден оператор, принимающий правый операнд типа point #2
Перегрузите оператор << для структуры, или выводите так же как и вводили в строке 29:
C++
1
29 in>>t[i].x>>t[i].y>>t[i].z;
TenGen
Будущее рядом
 Аватар для TenGen
96 / 94 / 20
Регистрация: 06.03.2014
Сообщений: 342
10.04.2014, 17:46     Ошибка : бинарный "<<": не найден оператор, принимающий правый операнд типа point #3
Или сделайте функцию для форматированного вывода координат точки, возвращающую строку
Yandex
Объявления
10.04.2014, 17:46     Ошибка : бинарный "<<": не найден оператор, принимающий правый операнд типа point
Ответ Создать тему
Опции темы

Текущее время: 14:29. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru