Написал код, однако он выводит такую ошибку:
C:\Works\contr_glsso1\mainwindow.cpp:771: ошибка: C2664: 'Line_Graph::Set_Data' : cannot convert parameter 2 from 'PTYPE *' to 'double *'
Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
Не знаю, что делать. ;_;
defines.h
typedef float PTYPE;
struct.h
PTYPE *RE;
mainwindows.h
void Update_Line(double X);
mainwindows.cpp
void MainWindow::Update_Line(prof->RE) // вот тут вот он выдает ошибку
Пытался привести к типу не вышло:
void MainWindow::Update_Line((unsigned double *)prof->RE) // выдает ошибку C2664
Вот еще один вариант:
void MainWindow::Update_Line(*prof->RE) // выдает C2100: illegal indirection
И еще:
double f1 = *prof->RE;
void MainWindow::Update_Line(f1) // ошибка: C2109: subscript requires array or pointer type
Даже так пробовал:
double f1 = *prof->RE;
void MainWindow::Update_Line(f1) // ошибка: C2109: subscript requires array or pointer type
Конвертировать PTYPE в double не умею, от переменной отказаться не могу - много где используется. Код не мой, просто столкнулся с проблемой.
Выложите весь код:
void MainWindow::Update_Line(prof->RE) // вот тут вот он выдает ошибку
Эта строчка и вызывает подозрение, там должно быть что-то типа:
void MainWindow::Update_Line(double x);
А вот в месте, где её вызываете, может и нужны какие-то приведения типов.
При такой реализации
typedef float PTYPE;
PTYPE *RE;
RE - просто указатель на float, так что должно работать просто
Update_Line(*RE);
Но вы нам точно все рассказали? Зачем тогда вы пытаетесь так старательно получить prof->RE? Может, это поле в структуре? надо приводить всю информацию!
Если это поле в структуре, а prof - указатель на нее, то должно сработать
Update_Line(*prof->RE);
Раз не работает - давайте дополнительную информацию. Что такое RE, prof и так далее.
Ответ нужен вам - так почему из вас информацию по капле тянуть приходится?... :(
И еще - сообщение компилятора о функции Line_Graph::Set_Data, а вы нам старательно подсовываете Update_Line. Так все же, где ошибка?
Сборка персонального компьютера от Artline: умный выбор для современных пользователей