Questions tagged [token-name-resolution]
21 questions
                    
                    43
                    
            votes
                
                1 answer
            
        List of C++ name resolution (and overloading) rules
Where I can find a list of the rules that a C++ compliant compiler must apply in order to perform names resolution (including overloading)?
I'd like something like a natural-language algorithm or flow chart.
C++ standard of course has this set of…
        user781847
                    22
                    
            votes
                
                1 answer
            
        Declaration of method changes meaning of symbol
For the following code:
struct foo {};
struct A
{
    typedef foo foo_type;
    void foo();
};
GCC gives a compiler error:
test.cpp:7:14: error: declaration of 'void A::foo()' [-fpermissive]
     void foo();
              ^
test.cpp:1:8: error:…
         
    
    
        HighCommander4
        
- 50,428
- 24
- 122
- 194
                    14
                    
            votes
                
                3 answers
            
        The actual result of name resolution in the class template is different from the c++ 03 standard
I test the code in the c++ standard ISO/IEC 14882-03 14.6.1/9 on Xcode 4.1 and Visual Studio 2008. The outputs of the two compiler are both different from the expected result of the standard.
The code is pasted below.  
#include 
#include… 
         
    
    
        Jeffrey
        
- 4,436
- 9
- 38
- 54
                    10
                    
            votes
                
                3 answers
            
        Wrong name resolution when parent and inner class have the same name
I have an odd case with Visual Studio 2003. For somewhat legitimate reasons, I have the following hierarchy:
class A {};
class B : public A {
public:
    class A {};
};
class C : public B::A {};
That is, I have an inner class with the same name…
         
    
    
        Michael Mrozek
        
- 169,610
- 28
- 168
- 175
                    8
                    
            votes
                
                1 answer
            
        Point of instantiation of a template class
Could that code to be compile?
#include 
template 
struct TMPL
{
    using TP = typename T::TP; //is CL::TP visible (with T == CL)?
};
struct CL
{
    using TP = int;
    TMPL::TP val; 
};
int main()
{
    CL cl;
}
TMPL…   
         
    
    
        Denis
        
- 2,786
- 1
- 14
- 29
                    7
                    
            votes
                
                1 answer
            
        Differences of the interpretation of a non-dependent construct between definition context and point of instantiation in c++
N4527 14.6 [temp.res]/p8
If a hypothetical instantiation of a template immediately
  following its definition would be ill-formed due to a construct that does not depend on a template parameter,
  the program is ill-formed; no diagnostic is…
         
    
    
        stackcpp
        
- 1,275
- 7
- 15
                    6
                    
            votes
                
                1 answer
            
        Dependent name resolution & namespace std / Standard Library
While answering this SO question (better read this "duplicate"), I came up with the following solution to dependent name resolution of an operator:
[temp.dep.res]/1:
In resolving dependent names, names from the following sources are…
         
    
    
        dyp
        
- 38,334
- 13
- 112
- 177
                    5
                    
            votes
                
                3 answers
            
        Reserved names in the global namespace
Arising from my answer to Dynamic array of objects in C++ and as a follow up to What are the rules about using an underscore in a C++ identifier?:
apparently, names beginning with _ followed by an uppercase letter are reserved in the global…
         
    
    
        rerun
        
- 25,014
- 6
- 48
- 78
                    4
                    
            votes
                
                3 answers
            
        why getenv() can get name resolved without a std::?
getenv() has a C++ implementation which can be included in the header file . So it is a member of namespace std. However, the getenv() function can be get resolved correctly in my code even without a std::getenv(), which means my follow program can…
         
    
    
        Banchon
        
- 43
- 1
- 5
                    4
                    
            votes
                
                2 answers
            
        How does a java compiler resolve a non-imported name
Consider I use a type X in my java compilation unit from package foo.bar and X is not defined in the compilation unit itself nor is it directly imported. How does a java compiler resolve X now efficiently? There are a few possibilities where X could…
         
    
    
        gexicide
        
- 38,535
- 21
- 92
- 152
                    4
                    
            votes
                
                1 answer
            
        c++ namespace resolution ("automatic using" based on arguments?)
When I call a function declared in a namespace from outside this namespace, I usually need to explicitly prefix with the namespace:
namespace ns1 {
    void myfunc();
}
myfunc();        // compiler complains
ns1::myfunc();   // good
However I have…
         
    
    
        Julien-L
        
- 5,267
- 3
- 34
- 51
                    3
                    
            votes
                
                1 answer
            
        Are there different rules regarding ADL or naming clashes with regard to overloaded operators?
I think this example best illustrates my question:
namespace N {
    class C {
    public:
        friend bool operator==(const C& c, const C& x) {
            return true;
        }
        friend bool f(const C& c, const C& x) {
           …
         
    
    
        odinthenerd
        
- 5,422
- 1
- 32
- 61
                    2
                    
            votes
                
                2 answers
            
        Resolving name clashes with builtins in a see also documentation section
I have the following class, with a method that hides (or shadows) a builtin function. I want the documentation to contain a "See Also" section, that links to the builtin function that is hidden.
classdef CatHelper
  %CATHELPER Makes implementing…
         
    
    
        Eric
        
- 95,302
- 53
- 242
- 374
                    1
                    
            vote
                
                3 answers
            
        How to refer to a type defined in a derived class passed as a template argument?
Consider the following example:
template 
class A {
 private:
  typedef typename T::C C;
};
template 
class B : public A> {
 public:
  typedef T C;
};
int main() {
  B b;
}
Compiling it with GCC gives the…   
         
    
    
        vitaut
        
- 49,672
- 25
- 199
- 336
                    1
                    
            vote
                
                2 answers
            
        Does C++ use static name resolution or dynamic name resolution?
I have been reading about "Name resolution" in wikipedia (Name resolution WIKI) and it has been given in that that C++ uses "Static Name Resolution". If that is true then I couldn't figure out how C++ manages to provide "polymorphism" without using…
         
    
    
        pasha
        
- 2,035
- 20
- 34