Opened 9 years ago

Closed 9 years ago

#6110 closed defect (fixed)

Hidden overloaded virtual functions in GNM

Reported by: Even Rouault Owned by: warmerdam
Priority: normal Milestone:
Component: default Version: unspecified
Severity: normal Keywords:
Cc: bishop

Description

Dmitry, a number of virtual members in GNM classes overload methods of a base class but with a different signature. This is kind of annoying as it raises warnings :

./gnmfile.h:53:20: warning: 'GNMFileNetwork::CreateMetadataLayer' hides overloaded virtual function [-Woverloaded-virtual]
    virtual CPLErr CreateMetadataLayer( const char* pszFilename, int nVersion,
                   ^
/home/even/gdal_trunk/gdal/gnm/gnm.h:412:20: note: hidden overloaded virtual function 'GNMGenericNetwork::CreateMetadataLayer' declared here: type
      mismatch at 1st parameter ('GDALDataset *const' vs 'const char *')
    virtual CPLErr CreateMetadataLayer( GDALDataset* const pDS, int nVersion,
                   ^
In file included from gnmfiledriver.cpp:33:
./gnmfile.h:58:20: warning: 'GNMFileNetwork::CreateGraphLayer' hides overloaded virtual function [-Woverloaded-virtual]
    virtual CPLErr CreateGraphLayer( const char* pszFilename,
                   ^
/home/even/gdal_trunk/gdal/gnm/gnm.h:416:20: note: hidden overloaded virtual function 'GNMGenericNetwork::CreateGraphLayer' declared here: different
      number of parameters (1 vs 2)
    virtual CPLErr CreateGraphLayer( GDALDataset* const pDS );
                   ^
In file included from gnmfiledriver.cpp:33:
./gnmfile.h:61:20: warning: 'GNMFileNetwork::CreateFeaturesLayer' hides overloaded virtual function [-Woverloaded-virtual]
    virtual CPLErr CreateFeaturesLayer( const char* pszFilename,
                   ^
/home/even/gdal_trunk/gdal/gnm/gnm.h:417:20: note: hidden overloaded virtual function 'GNMGenericNetwork::CreateFeaturesLayer' declared here: different
      number of parameters (1 vs 2)
    virtual CPLErr CreateFeaturesLayer( GDALDataset* const pDS );
                   ^
3 warnings generated.
In file included from gnmfilenetwork.cpp:32:
./gnmfile.h:53:20: warning: 'GNMFileNetwork::CreateMetadataLayer' hides overloaded virtual function [-Woverloaded-virtual]
    virtual CPLErr CreateMetadataLayer( const char* pszFilename, int nVersion,
                   ^
/home/even/gdal_trunk/gdal/gnm/gnm.h:412:20: note: hidden overloaded virtual function 'GNMGenericNetwork::CreateMetadataLayer' declared here: type
      mismatch at 1st parameter ('GDALDataset *const' vs 'const char *')
    virtual CPLErr CreateMetadataLayer( GDALDataset* const pDS, int nVersion,
                   ^
In file included from gnmfilenetwork.cpp:32:
./gnmfile.h:58:20: warning: 'GNMFileNetwork::CreateGraphLayer' hides overloaded virtual function [-Woverloaded-virtual]
    virtual CPLErr CreateGraphLayer( const char* pszFilename,
                   ^
/home/even/gdal_trunk/gdal/gnm/gnm.h:416:20: note: hidden overloaded virtual function 'GNMGenericNetwork::CreateGraphLayer' declared here: different
      number of parameters (1 vs 2)
    virtual CPLErr CreateGraphLayer( GDALDataset* const pDS );
                   ^
In file included from gnmfilenetwork.cpp:32:
./gnmfile.h:61:20: warning: 'GNMFileNetwork::CreateFeaturesLayer' hides overloaded virtual function [-Woverloaded-virtual]
    virtual CPLErr CreateFeaturesLayer( const char* pszFilename,
                   ^
/home/even/gdal_trunk/gdal/gnm/gnm.h:417:20: note: hidden overloaded virtual function 'GNMGenericNetwork::CreateFeaturesLayer' declared here: different
      number of parameters (1 vs 2)
    virtual CPLErr CreateFeaturesLayer( GDALDataset* const pDS );
                   ^

Potential solution using "using" keyword, or renaming the overloaded methods

Change History (1)

comment:1 by Bishop, 9 years ago

Resolution: fixed
Status: newclosed

Fixed in r30553

Note: See TracTickets for help on using tickets.