Re: 'Function' a reserved word???
On Wed, 21 May 2008 10:01:56 -0600, "lost_in_space" <a@b.com> wrote:
Hi, Tom -
Nope, no spelling errors. And 'Function' is perfectly descriptive - it's a
MathEngine library and the Function class encapsulates a user-specified
mathematical expression and it's equivalent tree structure.
: P
: )
Seriously, though...
Here's a snippet showing the test case. This is from the header of a file
containing definitions for variable node classes. One of these is a
'FunctionNode' class that allows functions to refer to one another in their
expressions (e.g., F1 = F3 /2.0). The FunctionNode objects are passed a
pointer to a Function object in their constructor. If that pointer is called
'Function*' I get the error. If I call it anything else, it works (it works
as shown, spelled 'Funcshun').
Any ideas? I mean, I suppose I could call it something else, but 'Function'
is appropriate and I'd like to know why it doesn't work!
namespace MathEngine
{
class Funcshun
{
};
//----------------------------------------------------------------------
class FunctionNode : public TreeNode
{
public:
FunctionNode(NodeInfo* info, int parenthesis, CoreFunction* owner, Funcshun*
reference);
~FunctionNode(){};
};
}
//----------------------------------------------------------------------
namespace MathEngine
{
FunctionNode::FunctionNode(NodeInfo* info, int parenthesis, CoreFunction*
owner, Funcshun* reference)
: TreeNode(info, parenthesis, owner)
{
}
}
//----------------------------------------------------------------------
Here's a quick sanity test:
int Function;
This program fragment compiles fine with "cl -c a.cpp". Therefore, the
problem must lie in your actual code, as opposed to what you posted above,
which you say works (not that helpful for those trying to help you <g>).
--
Doug Harrison
Visual C++ MVP