Als Beispiel hier einige (Vorlagen-)Funktionen, die Fehler verursachen:
Code: Select all
template
void delete_all(T& t)
{
for (T::const_iterator it = t.begin(); it != t.end(); ++it)
delete *it;
t.clear();
}
Code: Select all
template
inline T* get_from_TRRefList_by_index(const TRRefList& liste, unsigned int index)
{
assert(!(index >= liste.Count() || index < 0));
TRRefList::Iterator x(liste);
for (unsigned int i = 0; i < liste.Count(); ++i, ++x)
{
if (i == index)
return x.current();
}
return nullptr;
}
Verwendet die neueste Version von Visual Studio 22, derzeit 17.14.24.
Auf Anfrage die vollständigen Fehler:
Code: Select all
Severity Code Description Project File Line Suppression State Details
Error C3878 syntax error: unexpected token 'it' following 'expression' DM_Data D:\Dev\DutySuiteVS17_test2\3p\conan\include\TRConan\delete_all.h 9
Error C2760 syntax error: ')' was unexpected here; expected ';' DM_Data D:\Dev\DutySuiteVS17_test2\3p\conan\include\TRConan\delete_all.h 9
Error C2065 'it': undeclared identifier DM_Data D:\Dev\DutySuiteVS17_test2\3p\conan\include\TRConan\delete_all.h 9
Error C2065 'it': undeclared identifier DM_Data D:\Dev\DutySuiteVS17_test2\3p\conan\include\TRConan\delete_all.h 9
Error C2760 syntax error: ')' was unexpected here; expected ';' DM_Data D:\Dev\DutySuiteVS17_test2\3p\conan\include\TRConan\delete_all.h 9
Error C3878 syntax error: unexpected token ')' following 'expression-statement' DM_Data D:\Dev\DutySuiteVS17_test2\3p\conan\include\TRConan\delete_all.h 9
Error C2065 'it': undeclared identifier DM_Data D:\Dev\DutySuiteVS17_test2\3p\conan\include\TRConan\delete_all.h 10
Error C3878 syntax error: unexpected token 'it' following 'expression' DM_Data D:\Dev\DutySuiteVS17_test2\3p\conan\include\TRConan\delete_all.h 9
Error C2760 syntax error: ')' was unexpected here; expected ';' DM_Data D:\Dev\DutySuiteVS17_test2\3p\conan\include\TRConan\delete_all.h 9
Error C2065 'it': undeclared identifier DM_Data D:\Dev\DutySuiteVS17_test2\3p\conan\include\TRConan\delete_all.h 9
Error C2065 'it': undeclared identifier DM_Data D:\Dev\DutySuiteVS17_test2\3p\conan\include\TRConan\delete_all.h 9
Error C2760 syntax error: ')' was unexpected here; expected ';' DM_Data D:\Dev\DutySuiteVS17_test2\3p\conan\include\TRConan\delete_all.h 9
Error C3878 syntax error: unexpected token ')' following 'expression-statement' DM_Data D:\Dev\DutySuiteVS17_test2\3p\conan\include\TRConan\delete_all.h 9
Error C2065 'it': undeclared identifier DM_Data D:\Dev\DutySuiteVS17_test2\3p\conan\include\TRConan\delete_all.h 10
Error C3878 syntax error: unexpected token 'x' following 'expression' DM_Data D:\Dev\DutySuiteVS17_test2\dutymanager2\DM_Data\Utilities.h 173
Error C2760 syntax error: ')' was unexpected here; expected ';' DM_Data D:\Dev\DutySuiteVS17_test2\dutymanager2\DM_Data\Utilities.h 173
Error C3878 syntax error: unexpected token ')' following 'expression-statement' DM_Data D:\Dev\DutySuiteVS17_test2\dutymanager2\DM_Data\Utilities.h 173
Error C7510 'Iterator': use of dependent type name must be prefixed with 'typename' DM_Data D:\Dev\DutySuiteVS17_test2\dutymanager2\DM_Data\Utilities.h 173
Error C3878 syntax error: unexpected token 'x' following 'expression' DM_Data D:\Dev\DutySuiteVS17_test2\dutymanager2\DM_Data\Utilities.h 188
Error C2760 syntax error: ')' was unexpected here; expected ';' DM_Data D:\Dev\DutySuiteVS17_test2\dutymanager2\DM_Data\Utilities.h 188
Error C3878 syntax error: unexpected token ')' following 'expression-statement' DM_Data D:\Dev\DutySuiteVS17_test2\dutymanager2\DM_Data\Utilities.h 188
Error C7510 'Iterator': use of dependent type name must be prefixed with 'typename' DM_Data D:\Dev\DutySuiteVS17_test2\dutymanager2\DM_Data\Utilities.h 188
Code: Select all
#include
template
void delete_all(T& t)
{
for (T::const_iterator it = t.begin(); it != t.end(); ++it)
delete *it;
t.clear();
}
void test(std::vector& v) {
delete_all(v);
}
Mobile version