Liebe Community,
heute wollte ich ein Stück Code, das ich für Visual Studio 2013 geschrieben habe, unter CodeBlocks auf MinGW (GNU CC) testen. Allerdings bekomme ich einen Haufen Fehler, der zwar im Endeffekt immer der gleiche ist, aber den ich - so blöd das auch klingen mag - nicht ganz verstehe:
Building CXX object Core/CMakeFiles/Core.dir/src/Core/String/UTF8String.cpp.obj
cd /d C:\Users\euaconlabs\Documents\Engine\Builds\MinGW\Core && C:\PROGRA~2\CODEBL~1\MinGW\bin\G__~1.EXE @CMakeFiles/Core.dir/includes_CXX.rsp -o CMakeFiles\Core.dir\src\Core\String\UTF8String.cpp.obj -c C:\Users\euaconlabs\Documents\Engine\Source\Core\src\Core\String\UTF8String.cpp
C:\Users\euaconlabs\Documents\Engine\Source\Core\src\Core\String\UTF8String.cpp: In member function 'Core::_String::UTF8String& Core::_String::UTF8String::Insert(U32, char)':
C:\Users\euaconlabs\Documents\Engine\Source\Core\src\Core\String\UTF8String.cpp:263:29: error: no matching function for call to 'Core::_String::UTF8String::Insert(__gnu_cxx::__normal_iterator<Core::_String::UTF8Codepoint*, std::vector<Core::_String::UTF8Codepoint> >, const char&)'
Insert((Begin() + pos), c);
Dieser wird bei folgendem Code-Stück geworfen:
|
C-/C++-Quelltext
|
1
2
3
4
5
|
UTF8String& UTF8String::Insert(const U32 pos, const char c)
{
Insert(Begin() + pos, c);
return *this;
}
|
Unter Microsoft Visual Studio 2013 kompiliert alles fehler- und warnungsfrei, daher weiß ich nicht ganz was an dem Funktionsaufruf falsch sein soll, zumal er in der gleichen Header-Datei, wie die aufrufende Funktion folgendermaßen deklariert wurde:
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
|
//////////////////////////////////////////////////////////////
/// \brief Inserts the given character at the position into
/// the string.
/// \param pos Where to insert into the string.
/// \param c The character to insert.
/// \returns Iterator
//////////////////////////////////////////////////////////////
Iterator Insert(Iterator& pos, const char c);
|
Der Typ Iterator ist lediglich das folgende Typedef:
|
C-/C++-Quelltext
|
1
2
3
4
|
typedef std::vector<CharType>::iterator Iterator;
typedef std::vector<CharType>::const_iterator ConstIterator;
typedef std::vector<CharType>::reverse_iterator ReverseIterator;
typedef std::vector<CharType>::const_reverse_iterator ConstReverseIterator;
|
U32 ist außerdem lediglich ein 'unsigned' Integer-Typ bestehend aus 32-Bits.
Mich verwundert wirklich, dass GNU CC die Funktion nicht zu finden scheint.
Ich hoffe jemand weiß, woran der Fehler liegt. Vielleicht stelle ich mich auch nur zu blöd an
.
Liebe Grüße,
~ EuadeLuxe ~