Тема: g++ пише помилку через використання класу в .h
Маю я клас string:
.h
class string
{
char* text;
size_t size;
public:
string(const char* text);
~string();
size_t Lenght();
};
.cpp
string::string(const char* text)
{
size = strlen(text);
this->text = (char*)text;
}
string::~string()
{
}
size_t string::Lenght()
{
return size;
}
I маю ще 2 файли (cpp, h).
.h
void print(string text);
.cpp
void print(string text)
{
}
Якщо видалити з .h файлу "void print(string text);" то помилок нема а як вiдновити то буде
Start builder
./Exmp/Exmp/stdlib
./Exmp/Exmp/stdlib.cpp: In function ‘io::POINT io::GetCursorPos()’:
./Exmp/Exmp/stdlib.cpp:29:10: warning: extended initializer lists only available with -std=c++11 or -std=gnu++11
return { x, y };
^
./Exmp/Exmp/string
In file included from ./Exmp/Exmp/main.h:6:0,
from ./Exmp/Exmp/string.h:2,
from ./Exmp/Exmp/string.cpp:1:
./Exmp/Exmp/stdlib.h:4:12: error: variable or field ‘print’ declared void
void print(string text);
^
./Exmp/Exmp/stdlib.h:4:12: error: ‘string’ was not declared in this scope
End build file
Перший раз працюю з g++... Help please
Може винен порядок компiлювання файлiв ?
Кхм...
G++ не розумiти pragma once ?
Трабл через пiдключеня iнклуду самого в себе скажiм так