-
wired problem
Here is my source code http://gist.github.com/18355 everything works nice if the ParamsMap Class is not present.
When it compiles ParamsMap compiler fires error from ParamsMapCore
Code:
compiling paramsmap.cpp (g++)
paramsmap.h:34: error: invalid use of incomplete type
'class ParamsMapCore<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, Var>'
paramsmapcore.h:30: error: declaration of
'class ParamsMapCore<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, Var>'
paramsmap.cpp:22: error: type
'ParamsMapCore<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, Var>'
is not a direct base of 'ParamsMap'
I am using gcc
-
I would imagine you aren't getting your definition of Var in at an appropriate time.
-
So whats the solution ?? How would I solve it ?
-
Could you copy and paste the code you are using? Var is a template parameter. I do not know what you are plugging into the template.
-
all my source codes are there.which class you arenot able to find ?
Var is at the bottom
-
I don't see an issue. Are your files split up correctly?
-
ok Here is my sourcecode archived please extract it and test.
removing paramsmap.h and paramsmap.cpp from makefile.am compiles but when these two files are present it doesn't compile.
there are kdevelop project files too that you can use if you have kdevelop installed.
http://rapidshare.com/files/156500197/filter.tar.gz
-
Remove the forward declarations. You include the respective files anyway, and furthermore you need the complete types.