Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

typedefs and namespaces

1 view
Skip to first unread message

alariq

unread,
Jan 29, 2010, 11:35:39 AM1/29/10
to
Hello, All
can anyone help me with my problem. Here is it
I have one file: a.h
--- a.h ---
#pragma once
class Value; // forward declaration

namespace a {
// probably i would like to create Joint class as separate but now
i want to use Value class
typedef ::Value Joint;
class A_Class {
};

class C {
public:
//...
Joint* j;
};
} // end of namespace

and another class b.h, which includes a.h
--- b.h ---
#pragma once
#include "a.h"

class Value {
a::A_Class* pclass;
public:
static Value* makeStuff() { return new Value; }
}

and a main class
--- main.cpp ---
#include "b.h"
#include "a.h" // not really needed

int main(int argc, char** argv)
{

a::C var2;
var2.j = new a::Joint::makeStuff(); // error C2061: syntax error :
identifier 'makeStuff'
return 0;
}

I canot get why i have an error, becuase a::Joint is the same as
Value. It is ok if i do not use the function but fails if i do.

Thanks in advance.

Victor Bazarov

unread,
Jan 29, 2010, 11:45:12 AM1/29/10
to
alariq wrote:
> Hello, All
> can anyone help me with my problem. Here is it
> [...]

>
> and a main class
> --- main.cpp ---
> #include "b.h"
> #include "a.h" // not really needed
>
> int main(int argc, char** argv)
> {
>
> a::C var2;
> var2.j = new a::Joint::makeStuff(); // error C2061: syntax error :
> identifier 'makeStuff'

The compiler expects a *type* after 'new'. For example,

var2.j = new a::Joint;

What is it you're trying to accomplish here?

> return 0;
> }
>
> I canot get why i have an error, becuase a::Joint is the same as
> Value. It is ok if i do not use the function but fails if i do.

Use the function to do *what*?

V
--
Please remove capital 'A's when replying by e-mail
I do not respond to top-posted replies, please don't ask

alariq

unread,
Jan 29, 2010, 4:32:34 PM1/29/10
to
On Jan 29, 6:45 pm, Victor Bazarov <v.Abaza...@comAcast.net> wrote:
>
> Use the function to do *what*?

Blind I am! Thank you Viktor. I guess, it just was not my hard day
today...

0 new messages