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

Не понятный амбигус - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Перевод из двоичной системы счисления в десятичную с плавающей запятой http://www.cyberforum.ru/cpp-beginners/thread745188.html
Помогите найти ошибки в коде. Выводит не верный результат при введенных данных (11.1 или 11.01 или 11.001 и тд) неверность заключается в том, что не считает дробную часть. #include <stdio.h> #include <math.h> #include <iostream> #include <conio.h> using namespace std; //надеюсь вышеописанное расписывать не нужно
C++ Задача на поиск числа среди введеных Вводим числа k,l,m - среди этих чисел вводятся два одинаковых, а третье является отличным от них. Необходимо переменной n присвоить значение числа которое отличается от двух одинаковых. Помогите пожалуйста с решением, а то в c++ новичек, не очень хорошо получается понимать язык http://www.cyberforum.ru/cpp-beginners/thread745187.html
Инициализация переменной в struct C++
Как исправить эту ошибку? error C2864: wmain::Triangle::name: в пределах класса могут быть инициализированы только статические константные данные-члены целого типа struct Triangle { int a; int b; int c; const char name = "Треугольник"; };
Перевод с арабской на римскую сс и наоборот C++
Программа работает на половину, переводит только с римских чисел на арабские, помогите доделать что бы переводила и с арабских на римские #include <string.h> #include <stdio.h> #include <stdlib.h> #include <conio.h> #include <iostream> using namespace std;
C++ Определить, есть ли в последовательности хотя бы одна пара одинаковых "соседных" чисел http://www.cyberforum.ru/cpp-beginners/thread745158.html
дано последовательность натуральных чисел а1,а2..а10. Определить есть ли в последовательности хотя бы одна пара одинаковых "соседных" чисел.
C++ Немогу понять где ошибки #include<iostream.h> #include<conio.h> const int n=5; void In(float x); void Minimum(float x, float&); void Maximum(float x, float&, float&, float&); //void zamena (float&, float&); void Out(float x, float&, float&); void main() { подробнее

Показать сообщение отдельно
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
25.12.2012, 16:10  [ТС]     Не понятный амбигус
Цитата Сообщение от gray_fox Посмотреть сообщение
Он просто не знает, к чему преобразовывать,
А зачем преобразовывать? Есть же версия, принимающая непосредственно объект.

Добавлено через 34 секунды
Цитата Сообщение от gray_fox Посмотреть сообщение
Попробуй определи конструктор копирования.
Он есть.

Добавлено через 16 секунд
Цитата Сообщение от gray_fox Посмотреть сообщение
Или избавься от операторов преобразования (хотя бы от одного из них).
Нельзя.

Добавлено через 5 минут
Проблема решена так:
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
class Longs::TInteger
{
//-------------------------------------------------------------------------------------------------
  protected:
//-------------------------------------------------------------------------------------------------
  uint8_t       Data[0x100]; //This is the number. The byte order is little-endian.
//-------------------------------------------------------------------------------------------------
 public    :
//-------------------------------------------------------------------------------------------------
                TInteger         (                         );
                TInteger         (const TInteger     &Value);
                TInteger         (const int16_t       Value);
                TInteger         (const int32_t       Value);
//-------------------------------------------------------------------------------------------------
               ~TInteger         (                         );
//-------------------------------------------------------------------------------------------------
  TInteger      operator =       (const TInteger     &Right);
  TInteger      operator =       (const int16_t       Right);
  TInteger      operator =       (const int32_t       Right);
//-------------------------------------------------------------------------------------------------
  TInteger      operator +       (const TInteger     &Right);
  TInteger      operator -       (const TInteger     &Right);
  TInteger      operator *       (const TInteger     &Right);
  TInteger      operator /       (const TInteger     &Right);
  TInteger      operator %       (const TInteger     &Right);
//-------------------------------------------------------------------------------------------------
  TInteger      operator +=      (const TInteger     &Right);
  TInteger      operator -=      (const TInteger     &Right);
  TInteger      operator *=      (const TInteger     &Right);
  TInteger      operator /=      (const TInteger     &Right);
  TInteger      operator %=      (const TInteger     &Right);
//-------------------------------------------------------------------------------------------------
                operator int16_t (                         );
                operator int32_t (                         );
//-------------------------------------------------------------------------------------------------
};
. Но не понятно, почему без конста имбигус, а с ним эйси.
 
Текущее время: 13:56. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru