Witam napisałem program, który jest pewny sprawny mimo to mam kilka pytań, ponieważ podczas jego tworzenia natchnąłem się na pewnien błąd, który mnie zaciekawił.
Oto kod:
#include <iostream>
#include <string>
class Trash
{
private:
std::string text;
public:
Trash(std::string name) : text(name) {
if(name.empty())
std::cout << "Zawartość lini jest pusta\n";
else
std::cout << "Zawartość linii: " << name << std::endl;
}
};
int main()
{
Trash f_object("");
return 0;
}
Mianowicie chodzi tutaj o inicjalizacje listą, która została dokonana wewnątrz klasy i działa prawidłowo. Jednak tworząc program i definując kontruktor robiłem to poza klasą korzystając z jej zasięgu (::) i to spowodowało błąd kompilacji. Moje pytanie brzmi dlaczego skoro zrobiłem dokładnie to samo ?