Jeg skal "snart" til et opgør i c++, Dansk Datalogi Dyst, hvor jeg får udleveret nogle computere. I den forbindelse kan jeg ikke tage eget software med, så jeg må nøjes med en gratis kompiler fra nettet. Dev-C++ bruger gcc som kompiler, og den er lidt svær at vænne sig til.. Jeg har fx lavet et par koder, som ikke kan kompile.
I en af disse koder får jeg følgende "compiler log":
g++.exe "C:\\Projekter\\USACO\\Name That Number\\main.cpp" -o "C:\\Projekter\\USACO\\Name That Number\\main.exe" -I"C:\\Programmer\\Dev-Cpp\\lib\\gcc\\mingw32\\3.4.2\\include" -I"C:\\Programmer\\Dev-Cpp\\include\\c++\\3.4.2\\backward" -I"C:\\Programmer\\Dev-Cpp\\include\\c++\\3.4.2\\mingw32" -I"C:\\Programmer\\Dev-Cpp\\include\\c++\\3.4.2" -I"C:\\Programmer\\Dev-Cpp\\include" -L"C:\\Programmer\\Dev-Cpp\\lib"
C:/Programmer/Dev-Cpp/include/c++/3.4.2/bits/ios_base.h: In copy constructor `std::basic_ios<char, std::char_traits<char> >::basic_ios(const std::basic_ios<char, std::char_traits<char> >&)':
C:/Programmer/Dev-Cpp/include/c++/3.4.2/bits/ios_base.h:738: error: `std::ios_base::ios_base(const std::ios_base&)' is private
C:\\Projekter\\USACO\\Name That Number\\main.cpp:51: error: within this context
C:/Programmer/Dev-Cpp/include/c++/3.4.2/streambuf: In copy constructor `std::basic_filebuf<char, std::char_traits<char> >::basic_filebuf(const std::basic_filebuf<char, std::char_traits<char> >&)':
C:/Programmer/Dev-Cpp/include/c++/3.4.2/streambuf:769: error: `std::basic_streambuf<_CharT, _Traits>::basic_streambuf(const std::basic_streambuf<_CharT, _Traits>&) [with _CharT = char, _Traits = std::char_traits<char>]' is private
C:\\Projekter\\USACO\\Name That Number\\main.cpp:51: error: within this context
C:\\Projekter\\USACO\\Name That Number\\main.cpp: In function `void GenNextToken(std::string*, std::string*, int, std::ifstream)':
C:\\Projekter\\USACO\\Name That Number\\main.cpp:51: error: initializing argument 2 of `bool SearchName(std::string*, std::ifstream)'
Hvis vi ser på fejlen, bliver der i loggen hentydet til ios_base.h filen linie 738, som lyder:
// _GLIBCXX_RESOLVE_LIB_DEFECTS
// 50. Copy constructor and assignment operator of ios_base
private:
ios_base(const ios_base&);
Loggen hentyder også til main.cpp filen linie 51, som lyder:
if (SearchName(strName, fin_dic) == true)
der ligger i en funktion, defineret som:
void GenNextToken(string *strNumber, string *strName, int NumPointer, ifstream fin_dic)
som bliver kaldt sådan:
GenNextToken(&Number, &BufferName, -1, fin_dic);
hvor variablerne er defineret som:
string BufferName;
string Number = "499";
ifstream fin_dic ("dict.txt");
Funktionen SearchName, som bliver kaldt på den linie i filen, ser sådan ud:
bool SearchName(string *strName, ifstream fin_dic)
{
return true;
}
Den funktion er selvfølgelig ikke færdig, men det burde virke som den står der.. Hvorfor virker det ikke i Dev-C++, når det virker i Visual C++??
// Lærenem er ham, der kan stille de rigtige spørgsmål til den rigtige person...