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

Перегрузка оператора += - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ условие http://www.cyberforum.ru/cpp-beginners/thread357010.html
Ответ скорее всего прост,но не могу придумать никак #include <stdio.h> #include <conio.h> #include <locale.h> int fact(int n)//в цикле со счётчиком умножают переменную на счетчик, который...
C++ Расчитать значение функии f(x) по соответсвующей формуле. Добрый день, вот моё задание: Составьте алгоритм программы, которая принимает от пользователя значение x и в зависимости от его значения, расчитывет значение функии f(x) по соответсвующей формуле.... http://www.cyberforum.ru/cpp-beginners/thread357006.html
Создание динамического массива C++
const int Num=5; const int SIZE=4096 * Num; SHORT Buf; как такое заменить, если Num- инициализируется при загрузке программы, читается из файла. int Num; int SIZE=4096 * Num; SHORT* Buf...
C++ Компиляторы
Скажите пожалуйста какие сейчас есть компиляторы для С++ и какой из них на сегодняшний день самый распространённый и широкоиспользуемый?
C++ сумма соседних членов последовательности http://www.cyberforum.ru/cpp-beginners/thread356953.html
Даны числа а1, а2, a(n) Известно, что а1>0 и что среди а2, а3, a(n) есть хотя бы одно отрицательное число. Пусть а1, a2, an - члены данной последовательности, предшествующие первому отрицательному...
C++ Вычитаем процент от числа. Вот фрагмент программки... weight = growth - 110; ideal_weight = weight - (weight * (10/100)); cout << Rus("Ваш идеальный вес ") << ideal_weight; cout << Rus(" кг.") << endl; ... подробнее

Показать сообщение отдельно
Gepar
1177 / 533 / 20
Регистрация: 01.07.2009
Сообщений: 3,517
27.09.2011, 16:39  [ТС]
Цитата Сообщение от Deviaphan Посмотреть сообщение
Добавь в конструкторах слово explicit.
В каких именно? В конструкторах по умолчанию не принимающих аргументы?

Добавлено через 31 секунду
-=ЮрА=-, конкретно этот код комплиировал minigw так что он не ругается на выброс исключений таким хитрым способом.

Добавлено через 3 минуты
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
mat4.h(25) : error C2446: ':' : no conversion from 'const int' to 'class Vec4'
No constructor could take the source type, or constructor overload resolution was ambiguous
Ну это ты уже сам ошибку создал добавив что возвращаться будет int, а не Vec4, можешь поставить чтобы тут возвращало Vec4[0], это будет не правильно в плане того куда будет обращение, но будет работать и не вываливаться.

Добавлено через 1 минуту
-=ЮрА=-, сделай так
C++
1
2
3
4
    Vec4 operator[](int i) const
    {
        return ((i>=0) && (i<=3) ? elem[i] : elem[0]);//throw Vec4::Out_of_bounds());
    }
И будет комплиироваться, там возврат i элемента Vec4, сделано как в двумерном массиве чтобы в коде main обращаться типа a[2][3].

Добавлено через 1 минуту
Кстати насчёт throw в тернарном операторе: я сам думал что так работать не будет, но mingw скомпилировал всё как положено и при выходе за границы и правда выбрасывается исключение, которое также успешно ловится так что работает всё корректно.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru