Prva je Thinking in C++, a druga Beginning C++ Game Programming, taman da spojim korisno i zanimljivo.
Elem, još sam na samom početku i u toku su lekcije iz petlji i slično, međutim s obzirom da dolazim iz sveta baza podataka i Visual FoxPro-a, neke mi stvari nisu jasne.
Evo jedne od njih...
#include <iostream>
#include <fstream>
#include <vector>
#include <string>
using namespace std;
int main()
{
string words;
int broj=0;
vector <string> word;
cout << "The word counter \n";
ifstream in("The area of circle.cpp");
while (in >> words){
++broj;
}
cout << "There are " << broj << " words in the program.";
system("PAUSE");
}
Ja sam hteo da promenim program tako da umesto ovog određenog fajla, može da izbroji reči iz bilo kojeg fajla, koji mu korisnik unese. Pa sam tako izmenio kod da on sada izgleda ovako:
//Prethodni deo izostavljen
string fajl, words;
int broj=0;
vector <string> word;
cout << "The word counter \n\n";
cout << "Enter the file name: ";
cin >> fajl;
ifstream in(fajl);
//ostatak izostavljen
I sada program puca i odbija kompajliranje na liniji
ifstream in(fajl);
sa porukom 16 C:\Dev-Cpp\Projekti\Word Counter.cpp no matching function for call to `std::basic_ifstream<char, std::char_traits<char> >::basic_ifstream(std::string&)'
Ako može neko da pojasni, šta ne valja i kako bi trebalo da glasi kod.