Re: Protected declaration
On 2 loka, 11:39, Michael DOUBEZ <michael.dou...@free.fr> wrote:
mkarja a =E9crit :
Hi,
I have file, let's say file2.cpp that #includes file1.h.
file1.h looks something like this. Somewhat stripped version.
---------------------------------------------
#include <mysql/mysql.h>
class file1
{
public:
file1();
~file1();
protected:
MYSQL mysql;
}
---------------------------------------------
In file2.cpp I have a line: mysql_autocommit(&mysql, 0);
The g++ gives an error: error: 'mysql' was not declared in this scope.
Shouldn't I be able to use mysql in this case from the file2.cpp
because
mysql was declared in file1.h under Protected.
I guess MYSQL is an opaque type. It means it is not defined in the
header only declared (like FILE in stdio).
You cannot instanciate it directly but use a pointer instead.
Somathing like:
Mysql* mysql=mysql_init();
Michael
Thanks for the answer.
I tried to put the: Mysql* mysql=mysql_init();
in file1.h under Protected, but it didn't help. The same error still.
----
mkarja