Position.hh: 46: error: expected unqualified-id before 'namespace

Here is my code:

 34  
 35 /**  
 36  ** \file position.hh  
 37  ** Define the example::position class.  
 38  */  
 39   
 40 #ifndef BISON_POSITION_HH   
 41 #define BISON_POSITION_HH   
 42    
 43 #include <iostream>   
 44 #include <string>   
 45    
 46 namespace example   
 47 {   
 48   /// Abstract a position.   
 49   class position   
 50   {   
 51   public:   
 52    
 53     /// Construct a position.   
 54     position ()    
 55       : filename (0), line (1), column (0)   
 56     {    

Thanks, speeder, that's great. Necrolis, thank you. Both of you guys are on the same track in compilation units. Here's the full error report:

In the file included from location.hh: 45, from parser.h: 64, from the scanner .h: 25, from scanner.ll: 8: position.hh: 46: error: expected unqualified-id before the namespace

location.hh looks like this:

35 /**
36  ** \file location.hh
37  ** Define the example::location class.
38  */
39 
40 #ifndef BISON_LOCATION_HH
41 # define BISON_LOCATION_HH
42 
43 # include <iostream>
44 # include <string>
45 # include "position.hh"
46 
47 namespace example
48 {
49 
50   /// Abstract a location.
51   class location
52   {
53   public:

I should also add that these files are created by bison. this is when I try to compile the C ++ scanner class generated by flex ++, which I get at this point. I get the .cc code by issuing flex -C ++ -o scanner.cc scanner.ll.

+3
2

, a; - . , 34 ? ( #include), .

EDIT: , 34 , , , , ; } ) - , ( , ) #include position.hh

, , position.hh, , position.hh, , ; }

+2

, , (- ), "" (, "}" ";" '#endif' ..)

+2

Source: https://habr.com/ru/post/1732122/


All Articles