Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Заполнить двухмерный вектор таблицей умножения и вывести его в выходной поток Заполнить двухмерный вектор таблицей умножения и вывести его в выходной поток. То, что я написал: #include <vector> #include <iostream> #include <iomanip> using namespace std; https://www.cyberforum.ru/ cpp-beginners/ thread1223644.html Найти общую сумму стоимости всех перевозок и отдельно по каждому виду. C++
Помогите 2 задания зделать полчиса сижу никак зделать не могу тут легко я просто чтота вдуплить не могу 2. Общая сумма стоимости всех перевозок; 3. Сумма стоимости по каждому виду перевозок; ...
C++ Как объявить массив структур? Как задать массив в С++? Type gostinica= record FIO:string; nomer:integer; cena: integer; kolvo: integer; itogo:integer; end; Var https://www.cyberforum.ru/ cpp-beginners/ thread1223596.html C++ Программа, во время выполнения, после ввода, прекращает работу https://www.cyberforum.ru/ cpp-beginners/ thread1223583.html
Проблема такая: Предисловие... Недавно я уже обращался сюда на форум из-за того, что с функцией randomize программа не компилировалась. Я, при помощи тех, кто мне помог, определил, как нужно было...
C++ Дать юзеру возможность вводить команды с параметрами
К утилите прикручена интерактивная оболочка, юзер вводит команду в ответ на которую выполняется некоторый код. Сейчас выглядит так: typedef struct { std::string cmd; void (*function)(void);...
C++ Перевод из десятичной в двоичную систему https://www.cyberforum.ru/ cpp-beginners/ thread1223569.html
нужно перевести число из десятичной в двоичную систему! На форуме искал но не подходит! Вот мое творение #include <iostream> using namespace std; void main () { const int N=20; int mas; for...
C++ Оставить после знаков препинания только один пробел https://www.cyberforum.ru/ cpp-beginners/ thread1223559.html
Прошу помочь с одной программой: #include "stdafx.h" #include <iostream> #include <fstream> #include <iomanip> #include <stdio.h> #include <Windows.h> #include <string> using namespace std;...
C++ Определить какие буквы используются чаще, стоящие вначале слова, в середине или в конце?
Код определяет, какая именно из букв повторяется чаще всего во введенном тексте. Как сделать, чтобы определял какие буквы используются чаще, стоящие вначале слова, в середине или в конце? #include...
C++ Не выполняет ветку if https://www.cyberforum.ru/ cpp-beginners/ thread1223535.html
Доброго времени суток. Есть такой код: int main() { setlocale(LC_ALL, "Russian"); float x, E, U = x, Fa = sin(x), Fe = 1 + U; //U = x, Fa = sin(x), Fe = 1 + U int k = 2; char c; do {
C++ Сравнение русских букв с их кодами https://www.cyberforum.ru/ cpp-beginners/ thread1223527.html
Всем доброго времени суток. Имеется проблема ввода русского языка в консоле(!), при выполнении программы. Суть задания: пользователь вписывает русскую гласную букву и ему возвращается 1 в функции...
C++ Как изменить иконку исполняемого файла
Добрый день. Написал игру маленькую, консольную. Решил послать её другу. Но у экзешника не красивая иконка. Долго ползал на форуме тут. Нашёл пару вариантов. Там написано мол добавляете...
C++ Как сделать проверку ответа пользователя? Доброго времени суток. Есть такой код: int main() { setlocale(LC_ALL, "Russian"); float x, E, U = x, Fa = sin(x), Fe = 1 + U; //U = x, Fa = sin(x), Fe = 1 + U int k = 2; char c; do { https://www.cyberforum.ru/ cpp-beginners/ thread1223506.html
2733 / 1892 / 564
Регистрация: 05.06.2014
Сообщений: 5,526
0

Странная перегрузка операторов (Error: ambiguous overload for 'operator[]') - C++ - Ответ 6403026

07.07.2014, 08:46. Показов 889. Ответов 2
Метки (Все метки)

Что-то я туплю. Есть код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include<string>
struct test
{
    int operator[](const std::string&)const{return 0;}
    operator int()const{return 0;}
};
int main()
{
    test t;
    t[""];
    return 0;
}
Компилятор ругается на t[""]; что "error: ambiguous overload for 'operator[]' in 't[""]'". Если убрать operator int, ругань волшебным образом пропадает. В чем собственно дело? operator int на operator [] по идее вообще никак влиять не должен. Не указатель же возвращает.

Если играет роль, в качестве компилятора установлен g++.

Вернуться к обсуждению:
Странная перегрузка операторов (Error: ambiguous overload for 'operator[]') C++
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.07.2014, 08:46
Готовые ответы и решения:

Почему возникает ошибка? error: ambiguous overload for 'operator>>'
class planet { protected: double distance; int revolve; public: planet(double d,...

Неявные приведения типов, error: ambiguous overload for ‘operator=’
Всем привет! Как заставить код работать без костыля? https://rextester.com/SHUYH87895 ...

Error: ambiguous overload for 'operator<<' (operand types are 'std::ofstream {aka std::basic_ofstream<char>}'
на #define LOG(Variable) Log&lt;&lt;&quot;&lt;&quot;;...

Ambiguous overload for 'operator+' (operand types are 'int' and 'Rational')
Решал задачку, все делал по презентации. Создал класс рациональных чисел. Нужно перегрузить...

2
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.07.2014, 08:46

Error C2593: 'operator +=' is ambiguous
вообщем тема такая учусь програмить все когда то этим занимались, вот запоролся на вводе текста с...

operator+ overload
#include &lt;iostream&gt; class point { private: int x; int y; public:

Перегрузка операторов: "operator #"
Здравствуйте, подскажите пожалуйста. перегрузка оператора выглядит: void operator # (int i) В...

Перегрузка (Overload)
Здравствуйте, форумчане!:) Помогите, пожалуйста, реализовать 2 задачи с уже имеющейся программой. ...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru