Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.90/222: Рейтинг темы: голосов - 222, средняя оценка - 4.90
3 / 3 / 3
Регистрация: 06.08.2013
Сообщений: 23
1

Reference is ambiguous

07.08.2013, 21:13. Показов 42442. Ответов 18
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем доброго времени суток! Компилятор выдают ошибку в следующем коде:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
 
using namespace std;
 
struct distance
{
    int feet;
    float inches;
};
 
int main()
{
    distance d1; // Здесь выдаёт ошибку "reference to 'distance' is ambiguous"
    distance d3;
    distance d2 = { 11, 6.25 };
    ...
Подскажите, пожалуйста, в чём проблема.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.08.2013, 21:13
Ответы с готовыми решениями:

Ошибка reference is ambiguous
Объясните пожалуйста, в чем ошибка? #include &lt;iostream&gt; #include &lt;stdio.h&gt; #include &lt;fstream&gt;...

Reference to 'byte' is ambiguous
Всем привет! Помогите сделать возможным построение графиков через Qt C++ с использованием...

Ошибка с объявлением массива: Error #: 304 : reference to List is ambiguous
Почему, если я пишу такую строчку import java.awt.*; import java.awt.event.*; import...

Ошибка reference to List is ambiguous; both interface java.util.List in package java.util and class java.awt.List in...
Почему кгда я загружаю пакеты awt, utill вместе в одной проге при обьявлении елемента List я ловлю...

18
Неэпический
17870 / 10635 / 2054
Регистрация: 27.09.2012
Сообщений: 26,737
Записей в блоге: 1
07.08.2013, 21:19 2
C++
1
using namespace std;
может отказаться от этого?
0
3 / 3 / 3
Регистрация: 06.08.2013
Сообщений: 23
07.08.2013, 21:20  [ТС] 3
Croessmah, ты что! Как же я буду программировать без этого! Писать каждый раз перед cout или cin "std::" -- лень и неудобно.
0
Неэпический
17870 / 10635 / 2054
Регистрация: 27.09.2012
Сообщений: 26,737
Записей в блоге: 1
07.08.2013, 21:22 4
Цитата Сообщение от ching0n Посмотреть сообщение
Подскажите, пожалуйста, в чём проблема.
В пространстве имен std уже есть distance http://www.cplusplus.com/refer... /distance/ отсюда и ошибка

Добавлено через 1 минуту
Цитата Сообщение от ching0n Посмотреть сообщение
Как же я буду программировать без этого!
Так же как и раньше
Цитата Сообщение от ching0n Посмотреть сообщение
Писать каждый раз перед cout или cin "std::" -- лень и неудобно.
есть просто using, если уж совсем в лом
C++
1
2
using std::cout ;
using std::cin ;
3
3 / 3 / 3
Регистрация: 06.08.2013
Сообщений: 23
07.08.2013, 21:23  [ТС] 5
Croessmah, понятно. Переименовал на "dis" -- всё заработало! Спасибо!
0
5231 / 3204 / 362
Регистрация: 12.12.2009
Сообщений: 8,116
Записей в блоге: 2
07.08.2013, 21:24 6
Можно еще так
C++
1
2
3
4
5
6
7
8
9
namespace my {
struct distance
{
    int feet;
    float inches;
};
} 
...
my::distance d1;
1
Croessmah
07.08.2013, 21:26
  #7

Не по теме:

Цитата Сообщение от Kastaneda Посмотреть сообщение
Можно еще так
нельзя, ибо, using namespace my; даст туже ошибку, а без него нельзя:
Цитата Сообщение от ching0n Посмотреть сообщение
Как же я буду программировать без этого!
Цитата Сообщение от ching0n Посмотреть сообщение
Писать каждый раз перед cout или cin "std::" -- лень и неудобно.
:D

0
Kastaneda
07.08.2013, 21:27
  #8

Не по теме:

Цитата Сообщение от Croessmah Посмотреть сообщение
нельзя, ибо, using namespace my; даст туже ошибку, а без него нельзя
точняк, ща еще подумаю :)

0
Croessmah
07.08.2013, 21:28
  #9

Не по теме:

Цитата Сообщение от Kastaneda Посмотреть сообщение
точняк, ща еще подумаю
можно
C++
1
::distance
еще писать, но опять же лишние двоеточия :)

0
5231 / 3204 / 362
Регистрация: 12.12.2009
Сообщений: 8,116
Записей в блоге: 2
07.08.2013, 21:29 10
во что придумал
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#define distance __distance
#include <iostream>
#undef distance 
 
using namespace std;
 
struct distance
{
    int feet;
    float inches;
};
 
int main()
{
    distance d1; 
    return 0;
}
ching0n, только некому не говори, что на cyberforum'е такое советуют
0
ching0n
07.08.2013, 21:34  [ТС]
  #11

Не по теме:

Харэ прикалываться! :)
Kastaneda, :D

0
415 / 411 / 95
Регистрация: 06.10.2011
Сообщений: 832
08.08.2013, 04:41 12
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
 
using namespace std;
 
struct distance
{
    int feet;
    float inches;
};
 
int main()
{
    using distance = ::distance;
    distance d1;
    return 0;
}
0
3 / 3 / 3
Регистрация: 06.08.2013
Сообщений: 23
08.08.2013, 07:09  [ТС] 13
Olivеr, выдаёт ошибку: "expected nested-name-specifier before 'distance'"
0
415 / 411 / 95
Регистрация: 06.10.2011
Сообщений: 832
08.08.2013, 08:07 14
ching0n, http://ideone.com/jCwwgC
можно и тайпдефом
C++
1
typedef ::distance distance;
1
Неэпический
17870 / 10635 / 2054
Регистрация: 27.09.2012
Сообщений: 26,737
Записей в блоге: 1
08.08.2013, 09:54 15
Цитата Сообщение от ching0n Посмотреть сообщение
Olivеr, выдаёт ошибку: "expected nested-name-specifier before 'distance'"
C++11 ну или вариант с typedef'ом
0
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
08.08.2013, 10:43 16
надо просто использовать distance до using namespace std;
0
Croessmah
08.08.2013, 11:38
  #17

Не по теме:

Цитата Сообщение от Tulosba Посмотреть сообщение
надо просто использовать distance до using namespace std;
Как можно пропустить святой using namespace std? Богохульник :D

0
bemol5
09.08.2013, 00:24
  #18

Не по теме:

Лучше не использовать namespace std вначале изучения С++ ?

0
5498 / 4893 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
09.08.2013, 01:17 19
Цитата Сообщение от bemol5 Посмотреть сообщение
Не по теме:
Лучше не использовать namespace std вначале изучения С++ ?

Не по теме:

Использовать всё можно, но с умом.
fatal error LNK1169: one or more multiply defined symbols found

1
09.08.2013, 01:17
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.08.2013, 01:17
Помогаю со студенческими работами здесь

Ошибки underfined reference to parentClass::method и unerfined reference to vtable при линковке
При сборке компилятор выдает ошибки underfined reference to и unerfined reference to vtable. Есть...

Ambiguous column name
День добрый. Есть такой запрос: SELECT k.Kod, k.Contract as Contract , FROM...

Column in from clause is ambiguous
Товарищи, нужна Ваша квалифицированная помощь! Выручайте пожалуйста, иначе из-за этой ошибки я...

in field list is ambiguous
Доброго времени суток! Имеется вот такой код,при выполнении пишет ошибку Column 'id_d' in field...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru