# New -Woverloaded-virtual warning from GetDataSet()

**URL:** <https://discourse.vtk.org/t/new-woverloaded-virtual-warning-from-getdataset/7658>\
**Category:** Development\
**Created:** [January 17, 2022, 7:00pm UTC](https://discourse.vtk.org/t/new-woverloaded-virtual-warning-from-getdataset/7658 "2022-01-17T19:00:41Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![seanm](https://discourse.vtk.org/letter_avatar_proxy/v4/letter/s/a88e4f/32.png) [@seanm](https://discourse.vtk.org/u/seanm)\
**Post date:** [January 17, 2022, 7:00pm UTC](https://discourse.vtk.org/t/new-woverloaded-virtual-warning-from-getdataset/7658/1 "2022-01-17T19:00:41Z")

</div>

Hi all,

This warning started on 2022-01-15 (Saturday):

```auto
VTK/Common/DataModel/vtkUniformGridAMR.h:97:19: warning: 'vtkUniformGridAMR::GetDataSet' hides overloaded virtual function [-Woverloaded-virtual]
  vtkUniformGrid* GetDataSet(unsigned int level, unsigned int idx);
                  ^
VTK/Common/DataModel/vtkCompositeDataSet.h:96:26: note: hidden overloaded virtual function 'vtkCompositeDataSet::GetDataSet' declared here: different number of parameters (1 vs 2)
  virtual vtkDataObject* GetDataSet(unsigned int flatIndex);
                         ^

```

See:

[https://open.cdash.org/viewBuildError.php?type=1&buildid=7681356](https://open.cdash.org/viewBuildError.php?type=1&buildid=7681356)

But neither of those two files have been changed recently, so I don’t understand why we’re only seeing this now. Anyone touch anything related recently?

But both these methods are public, so a simple rename seems not a solution…

Thanks,

Sean

---

<div class="post-metadata">

**Author:** ![ben.boeckel](https://discourse.vtk.org/letter_avatar_proxy/v4/letter/b/ea5d25/32.png) [@ben.boeckel](https://discourse.vtk.org/u/ben.boeckel)\
**Post date:** [January 17, 2022, 8:16pm UTC](https://discourse.vtk.org/t/new-woverloaded-virtual-warning-from-getdataset/7658/2 "2022-01-17T20:16:20Z")

</div>

!8740 was merged on Friday. The change is from December, but it was only recently merged. I suspect that `using Superclass::GetDataSet;` is warranted.

@spyridon97

---

<div class="post-metadata">

**Author:** ![spyridon97](https://discourse.vtk.org/user_avatar/discourse.vtk.org/spyridon97/32/7069_2.png) [@spyridon97](https://discourse.vtk.org/u/spyridon97)\
**Post date:** [January 17, 2022, 8:39pm UTC](https://discourse.vtk.org/t/new-woverloaded-virtual-warning-from-getdataset/7658/3 "2022-01-17T20:39:58Z")

</div>

I completed the change before Christmas, and I merged when I came back from vacation. That’s why there was a difference in merge time.

Would you prefer to have a different function name?

---

<div class="post-metadata">

**Author:** ![mwestphal](https://discourse.vtk.org/user_avatar/discourse.vtk.org/mwestphal/32/19_2.png) [@mwestphal](https://discourse.vtk.org/u/mwestphal)\
**Post date:** [January 18, 2022, 9:02am UTC](https://discourse.vtk.org/t/new-woverloaded-virtual-warning-from-getdataset/7658/4 "2022-01-18T09:02:12Z")

</div>

> [@ben.boeckel](#):
>
> `using Superclass::GetDataSet;`

I agree with ben here, this is the right fix, in all class overriding one of the methods.
