Data {
                  
                  
                          int firstElement;
                  
                  
                          int lastElement;
                  
                  
                          bool complete;
                  
                  
                      };
                  
                  
                      void showData(Data &);
                  
                  
                  };
                  
                  
                  
                  
                  
                  Потом реализацию методы в отдельном срр файле:
                  
                  
                  void datatypes::showData(datatypes::Data &d) {
                  
                  
                      cout << d.firstElement << endl;
                  
                  
                      cout << d.lastElement << endl;
                  
                  
                      cout << d.complete << endl;
                  
                  
                  }
                  
                  
                  
                  
                  
                  Потом в main обращаюсь к функции и уточнение пространства имен не требуется - все работает, но почему?
                  
                  
                  int main() {
                  
                  
                      datatypes::Data cache{1, 32, false};
                  
                  
                      showData(cache);
                  
                  
                      return 0;
                  
                  
                  }
                  
                  
                
Гуглить по слову ADL
Обсуждают сегодня