class _AmzExport Exception {
public:
// Can be used to convert line number to string
static String lineNum(int line);
// For a handy and fast stop action
staticvoid stop(String msg);
// Gives warning
staticvoid warn(String msg);
}; // warning occures here
Second
I typedef std::string to String and the functions which take std::string as arguments gives error if I pass String as argument, so I needed to do typecasting which seems to me unnecessary, probably un efficient
third
I include <dirent.h> which does some settings then includes <sys/dirent.h>
and the structure that I use (struct dirent*) is in <sys/dirent.h> however if I include <dirent.h> directly it says it couldn't find d_type member in struct dirent however, d_type is defined in <sys/dirent.h> so if I include <sys/dirent> there isn't a problem, but including <dirent.h> must be valid since it has brought <sys/dirent.h>
even though I can compile the project, this problems annoy me.
Thank you for your help.
third
"including <dirent.h> must be valid since it has brought <sys/dirent.h>"
I'd look inside sys/dirent.h to be sure what's going on when you include <dirent.h>. There can be some preprocessor magic, which results is that you must include <sys/dirent.h>
Also you can use -E gcc key, to examine what you got after preproc stage