Udostępnij za pomocą


Błąd kompilatora C2084

funkcja "function" ma już treść

Uwagi

Funkcja została już zdefiniowana.

Przed programem Visual Studio 2002,

  • Kompilator zaakceptowałby wiele specjalizacji szablonów, które zostały rozpoznane jako ten sam rzeczywisty typ, chociaż dodatkowe definicje nigdy nie będą dostępne. Kompilator wykrywa teraz te wiele definicji.

  • __int32 i int były traktowane jako oddzielne typy. Kompilator traktuje __int32 teraz jako synonim dla elementu int. Oznacza to, że kompilator wykrywa wiele definicji, jeśli funkcja jest przeciążona zarówno __int32 , jak i int daje błąd.

Przykład

Poniższy przykład generuje kod C2084:

// C2084.cpp
void Func(int);
void Func(int) {}   // define function
void Func(int) {}   // C2084 second definition

Aby naprawić ten błąd, usuń zduplikowaną definicję:

// C2084b.cpp
// compile with: /c
void Func(int);
void Func(int) {}