JournaledSignal Template compilation issue
by Steve Lamperti · in Torque Game Engine Advanced · 03/09/2009 (2:37 pm) · 3 replies
I know this is going to be a hard one for anyone to help me with, but I am getting the following errors when I try to compile files that use the JournaledSignal object in TGEA. The problem may well have something something to do with the compiler we are using, which is the final version of CodeWarrior on the Macintosh, but I am hoping that someone will be able to help me anyway. I'm quite stumped by these messages.
The locations referred to are:
in Journal.h
and
in journaledSignal.h
Error : illegal explicit conversion from 'void (Signal<void ()>::*)()const ' to
'void (Journal::*)()const '
(point of instantiation: 'global scope')
(instantiating: 'JournaledSignal<void ()>::trigger()')
(instantiating: 'Journal::Call<Signal<void ()>>(Signal<void ()> *, void (Signal<void ()>::*)()const )')
(included from:
console/console.h:17
console/consoleObject.h:23
console/simObject.h:10
console/simBase.h:16
sim/netObject.h:10
sceneGraph/sceneObject.h:13
T3D/gameBase.h:10
T3D/shapebase.h:13
ExtendItem.h:10
ExtendItem.cpp:7)
journal.h line 542 Method((Obj* obj,void (Obj::*method)()),(mFile,id),())
(corresponding point of instantiation for 'Journal::Call<Signal<void ()>>(Signal<void ()> *, void (Signal<void ()>::*)()const )')
(included from:
console/console.h:17
console/consoleObject.h:23
console/simObject.h:10
console/simBase.h:16
sim/netObject.h:10
sceneGraph/sceneObject.h:13
T3D/gameBase.h:10
T3D/shapebase.h:13
ExtendItem.h:10
ExtendItem.cpp:7)
journaledSignal.h line 31 Journal::Call((Parent*)this, &Parent::trigger);
(corresponding point of instantiation for 'JournaledSignal<void ()>::trigger()')
(included from:
console/console.h:17
console/consoleObject.h:23
console/simObject.h:10
console/simBase.h:16
sim/netObject.h:10
sceneGraph/sceneObject.h:13
T3D/gameBase.h:10
T3D/shapebase.h:13
ExtendItem.h:10
ExtendItem.cpp:7)
journaledSignal.h line 30 {The locations referred to are:
template<class Obj>
Method((Obj* obj,void (Obj::*method)()),(mFile,id),())in Journal.h
and
void trigger()
{
Journal::Call((Parent*)this, &Parent::trigger);
}in journaledSignal.h
#2
Not very helpful, I know :p.
03/16/2009 (2:45 pm)
Use Xcode? Can CodeWarrior even compile Intel binaries for OS X?Not very helpful, I know :p.
#3
Like I said, if anyone has any suggestions as to how to even work around the problem, please offer them. One thought I had, was to rip out the journaling, as I don't think that that's critical to my project, but I'm not sure how easy that will be to do, and if there's a relatively straight way to work around this problem, and not need to do that that would be much better.
03/16/2009 (3:36 pm)
We have a large existing project in codewarrior, and we are already working on leaving Codewarrior behind, but that's for a future version. The current build uses TGE in codewarrior successfully. I am now working on bringing up TGEA in this project, and getting the error I listed above.Like I said, if anyone has any suggestions as to how to even work around the problem, please offer them. One thought I had, was to rip out the journaling, as I don't think that that's critical to my project, but I'm not sure how easy that will be to do, and if there's a relatively straight way to work around this problem, and not need to do that that would be much better.
Torque Owner Steve Lamperti
Imagine That!