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

Странное поведение компилятора - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Новичок в С++ http://www.cyberforum.ru/cpp-beginners/thread452041.html
Не смотря на то что новичок в С, туплю по жесткому , вообщем загрузил картинку кто зна. как исправить помогите.(И да выбивает ет при создании нового проекта) Кстати там где пишет убедитесь. Ту херню я скачивали переустанавливал, и сам С тоже.
C++ найти ошибки и исправить, калькулятор собственно, помогите найти и исправить ошибки. Код писал, не я. Препод задал такую задачу, найти, для лично много чего непонятного есть. Вообщем калькулятор, писался я так понимаю по Страуструпу.Имена переменных просто капец:( помогите пожалуйста!) в архиве проект. http://www.cyberforum.ru/cpp-beginners/thread452027.html
Подсчитать количество чисел в загружаемом файле C++
#include "stdafx.h" #include <stdlib.h> #include <stdio.h> #include <string.h> #include <conio.h> int main() {FILE *file; char namef; char x;
C++ вставить массив в массив по индексу
Создала функцию, но она не хочет возвращать весь массив. Мы переписываем первый массив и его размерность, но у меня почему-то возвращается начальная размерность первого массива. Хотя если в выводе массива написать (s1+s2), то выведется весь новый массив. Может, подскажите, почему функция так работает? int *connectArraysByIndex (int *m1, int *m2, int &s1, int s2, int index) { if (index < 0 ||...
C++ Определить количество нулей в третьей строке матрицы http://www.cyberforum.ru/cpp-beginners/thread452003.html
В соревнованиях по прыжкам в длину участвовали N-спортсменов. Каждый спортсмен мог сделать М-попыток. Результаты (длины прыжков) занесены в таблицу A. Если результат не защитывали, то вместо длины прыжков заносили ноль. Определить количество незащитанных прыжков в 3-ей попытке
C++ reinterpret_cast<...>(...) Всем привет! Сразу к делу. ВОПРОС: Как преобразовать переменную типа float в указатель типа double; КРАТКОЕ ОПИСАНИЕ ПРОБЛЕМЫ: Проблема заключается в том что у меня есть функция которая принимает указатель на double. Но аргументы с которыми мне приходиться работать типа float. Так как мне преобразовать переменную типа float в указатель типа double. подробнее

Показать сообщение отдельно
stawerfar
 Аватар для stawerfar
141 / 55 / 4
Регистрация: 14.12.2010
Сообщений: 347
Записей в блоге: 1
24.02.2012, 17:28     Странное поведение компилятора
Всем привет! Я конечно понимаю что нужно выкладывать минимальный код повторяющий мою проблему но он будет достаточно грамосток т.к. в стандартной ситуации компилятор ведет себя нормально, НО в моей ситуации где всего "накручено" он реагирует странным образом!

СУТЬ ПРОБЛЕММЫ:
Есть некая дружественная функция класса
C++
1
2
3
4
5
6
7
8
9
Parse operator + (Parse& const one,Parse& const two)
{
    if(one.dbresult == 0.0)//если констрольное число равно нулю то высчитываем его
    {one.calculation_result();}
    if(two.dbresult == 0.0)//если контрольное число равно нулю то высчитываем его
    {two.calculation_result();}
    double res = one.dbresult + two.dbresult;
    return static_cast<Parse>(res);
}
В таком виде всё работает нормально. Так как есть перегруженные конструктор с одним параметром принимающим один оргумент типа double.
А ВОТ ТАКОЙ синтаксис не прёт
C++
1
    return static_cast<Parse>(one.dbresult + two.dbresult);
Почему?
Пишет
C++
1
Ошибка  57  error C2440: static_cast: невозможно преобразовать "double" в "Parse"   d:\project_vs 2010\c++\leassons on lafore cpp file\leassons 11_8.cpp    1144    1   Solutions for Lafore all leassons_
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 09:47. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru