Вопросы по теме 'name-lookup'

«Поиск имени должен найти однозначное объявление имени
Возможный дубликат: поиск имени с неполным именем: Проект C++0x n3290 Пункт из стандарта ISO: n3290 Проект: 3.4 Поиск имени, 1-й пункт "Name lookup shall find an unambiguous declaration for the name" Я пробовал с именами...
91 просмотров
schedule 19.06.2023

Точка из iso С++ n3290: поиск имени, зависящий от аргумента:
Пункт из iso C++ n3290: поиск имени в зависимости от аргумента: раздел 3.4.2, пункт 4 When considering an associated namespace, the lookup is the same as the lookup performed when the associated namespace is used as a qualifier (3.4.3.2) except...
147 просмотров
schedule 29.12.2022

Черновик ISO C++ — 3.4.2/3 — Поиск имени, зависящего от аргумента
Пункт из черновика ISO C++ (n3290): 3.4.2/3 Поиск имени, зависящего от аргумента: Пусть X будет набором поиска, созданным неквалифицированным поиском (3.4.1), и пусть Y будет набором поиска, созданным поиском, зависящим от...
231 просмотров
schedule 29.03.2024

Обычный неквалифицированный поиск и поиск по имени в зависимости от аргумента (ADL)
Для неквалифицированного поиска имени, «Обычного неполного поиска» и «Поиска имени, зависящего от аргумента» (ADL), я не могу найти в стандарте, какой из них происходит первым? Опять же, поскольку оба пытаются добавить что-то в набор кандидатов на...
127 просмотров

Поиск имени внутри списка параметров функции-члена
typedef int abc; class Some{ public: abc foo(){...} typedef double abc; }; В приведенном выше коде я получаю сообщение об ошибке: error: changes meaning of 'abc' from 'typedef int abc' потому что в книге С++ учебник, пятое...
158 просмотров
schedule 06.11.2023

Поиск телефона во время входящего вызова
Я пытаюсь создать приложение, похожее на True Caller. Когда поступает входящий вызов, моему приложению необходимо подключиться к серверу, чтобы получить контактное имя номера входящего вызова, только если оно недоступно в контактах клиента...
774 просмотров
schedule 22.07.2023

объявление класса друга и использование директивы
Правильно ли построен следующий пример? namespace N { class A; } using namespace N; class B { int i; friend class A; }; namespace N { class A { B m; int get() { return m.i; } }; } Этот пример успешно...
348 просмотров

поиск имени для typedef глючит в компиляторе GNU?
Следующий код #include <iostream> typedef double A; // a global typedef template <class Z> struct B // a template class... { A i{22.2}; // global typedef is in scope typedef int A; // now a local typedef with the same name...
191 просмотров

Почему программа отклоняется как неоднозначная, которую можно разрешить путем разрешения перегрузки?
Следующая программа отвергается gcc как неоднозначная: struct Aint { virtual void foo(int); }; struct Astring { virtual void foo(std::string); }; struct A: public Aint, public Astring {}; int main() { std::string s; A a;...
798 просмотров
schedule 22.12.2023

Поиск имени базового класса после наследования конструктора
Рассмотрим следующий код: struct base {}; struct derived : public base { using base::base; base foo() const; // how does name lookup on 'base' here work? }; Интуитивно понятно, что этот код корректен и компилируется (проверено с...
138 просмотров

Почему компилятор С++ (VS2013) выбирает неправильную функцию?
Первый случай #include <iostream> class A { public: virtual void Write(int i) { std::wcout << L"Write(int) is called" << std::endl; } virtual void Write(wchar_t c) { std::wcout <<...
96 просмотров

Вызов функции-члена шаблона с существующим именем
см. следующий код: namespace std { template <std::size_t I, class T> auto& get(my_tuple_like_type<T>& t) { std::size_t ext = t.template extent<I>(); // This line // .... do something with ext...
59 просмотров
schedule 12.03.2023

Почему не удается найти перегруженный оператор == для std::weak_ptr, созданный с типом, определенным в пространстве имен?
Я использую Visual Studio 2015. Любая идея, почему этот код компилируется: #include <memory> class Foo; class Bar; typedef std::pair<Foo*,std::weak_ptr<Bar>> Object; typedef std::vector<Object> ObjectVect; bool...
394 просмотров

С ++ обычный поиск и поиск, зависящий от аргументов
Учитывая этот пример, описанный в http://en.cppreference.com/w/cpp/language/adl : namespace A { struct X; struct Y; void f(int); void g(X); } namespace B { void f(int i) { f(i); // calls B::f (endless...
322 просмотров

Существует ли неявный указатель на подобъект базового класса при доступе к одному из его членов?
Если бы у нас был этот код: class Base { int anint; float afloat; }; class Derived : Base { //inherited member variables... }; Мне сказали, что члены Base будут унаследованы от Derived , а эти унаследованные члены Derived на самом деле...
179 просмотров

Переопределяющий оператор‹‹ для всех типов
Меня немного раздражают ошибки компиляции, которые возникают, когда я пытаюсь написать std::cout << x , а оператор сдвига влево не определен для x . Не могу преобразовать x в это, не могу преобразовать x в это... Несколько экранов с...
73 просмотров

C++ Вложенное `пространство имен` `используя` порядок поиска имен
Я читал о using -директивах на cppreference.com и у них был какой-то код, я не мог понять предпочтения порядка для поиска имени. Я прочитал о транзитивном свойстве using -директив в параграфе 3 , unqualified_lookup#область пространства имен...
340 просмотров
schedule 29.07.2023

Правильное отделение общих перегруженных функций шаблона от специализированных?
Вопрос Каков правильный способ иметь помощники по шаблонам и дополнительные специализированные перегрузки в отдельных файлах, чтобы включения не зависели от порядка? Есть ли правильный способ сделать что-то в ситуациях, подобных моей (см....
48 просмотров
schedule 16.02.2023

Является ли ADL единственным способом вызвать встроенную функцию друга?
Давайте определим f как дружественную функцию S внутри объявления S : struct S { friend void f() {} }; Я не могу найти способ позвонить f . Правда ли, что такая встроенная функция друга может быть вызвана только с поиск в...
1236 просмотров

Где определено правило поиска имени, которое находит самое непосредственное объявление имени?
int i; void f() { int i{}; { int a = i; // local or global 'i'? } } Мой вопрос не в том, какой i выбирается, поскольку ясно, что это локальный, а в том, где в стандарте указано. Самое близкое правило, которое я смог...
63 просмотров
schedule 25.06.2023