typedef struct forward declaration


 
Thread Tools Search this Thread
Top Forums Programming typedef struct forward declaration
# 1  
Old 10-13-2009
typedef struct forward declaration

I've google a bit about this and couldn't find an answer. Actually I read that it can't be done.

Basically I've defined the following structure and typedef it as follows.
Code:
stuct Name {
};

typdef struct Name Name.

and right after it, defined some API that use it.

Code:
void blabla(Name* param);
etc...

Now, I'm developing a C++ class which methods use that "object", but I can't forward declare that structure, and including the header in the in header class seems dead wrong to me and I want to avoid it.

What's the best way to proceed ?

Thanks in advance,
S.
# 2  
Old 10-13-2009
In C++, the header is typically where this sort of thing goes.

Last edited by fpmurphy; 10-14-2009 at 10:29 AM..
# 3  
Old 10-14-2009
Try this:

typedef struct tmpname {
int a, b;
struct tmpname *next;
...
} Name;

void foo( Name *p )
{
}
# 4  
Old 10-14-2009
Quote:
Originally Posted by fpmurphy
In C++, that is typically where this sort of thing goes.
I'm sorry, but I don't get what you mean.
# 5  
Old 10-19-2009
try this then

Code:
typedef struct name {
	int x ;
} name ;

void blabla (name * param) ;

good luck, and success !
alexandre botao
Alexandre V. R. Botao | Unix, C/C++, Shell, LDAP, SSL/TLS, SSH, Perl, Java, Python, Security, ...
# 6  
Old 10-26-2009
It looks like it worked.

Could you please explain or point me to an explanation of this?

Thanks,
S.
# 7  
Old 11-03-2009
how typedef works

1) typedef has the form:
Code:
typedef known_type new_name ;

eg.
Code:
typedef   char        octet ;
typedef   long long   bigtype ;

2) the trick here is that known_type can be a struct declaration !
eg.
Code:
struct mystruct {
   int x ;
} ;

3) when you combine these concepts, you get the code I posted previously ;

ok ?

good luck, and success !
alexandre botao
http://**********
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Programming

Help me to understand strange 'typedef ... ' in some source...

Working on some source I've found some strange declaration in included header file. I am looking for someone's help to understand me that syntax's, as it is fine (it is compiled without any complain,) but for me it seems out of any sense! Acctually, it warning by CC compiler: " Warning: Implicit... (1 Reply)
Discussion started by: alex_5161
1 Replies

2. Programming

Typedef does not work to name a type

Hello, This is related to the closed post in the forum for the installation of the same software called arachne, but with different error message: In file included from ueberal/MiniSuperizer.cc:5:0: ./random/GnuRandom.h:54:5: error: ‘_G_uint32_t’ does not name a type _G_uint32_t u; ^... (11 Replies)
Discussion started by: yifangt
11 Replies

3. Programming

Event driven programming / epoll / typedef union / session data array

Sorry for the “word salad” subject, but I wanted to cast a wide net for help. I've created an IP (Internet Protocol) server which serves HTTP, SMTP, and FTP requests. As you probably know, they all require creating a socket, listening on it, accepting connections, and then having a short... (3 Replies)
Discussion started by: John S.
3 Replies

4. Programming

Compilation problem with typedef

I am getting confused compiling a program that gives me the following error ../../../tomso/algeb/vector.hpp:19:9: error: ‘Vector' does not name a type typedef Vector<float> Vecflt; (1 Reply)
Discussion started by: kristinu
1 Replies

5. Programming

typedef help

Hi! This is part of my my code : typedef struct{ int x; char na; char sur; } Stu; typedef struct{ Stu *arr; int size; int sort; } Stus; I want to ask how can i free() the matrix arr. I tried free(arr), free(Stus.arr) and i get errors with gcc. My problem, in... (3 Replies)
Discussion started by: giampoul
3 Replies

6. Ubuntu

Iptables forward traffic to forward chain!!!

Hi, I am new to linux stuff. I want to use linux iptables to configure rule so that all my incoming traffic with protocol "tcp" is forwarded to the "FORWARD CHAIN". The traffic i am dealing with has destination addresss of my machine but i want to block it from coming to input chain and somehow... (0 Replies)
Discussion started by: arsipk
0 Replies

7. Programming

Storing C++-struct in file - problem when adding new item in struct

Hi, I have received an application that stores some properties in a file. The existing struct looks like this: struct TData { UINT uSizeIncludingStrings; // copy of Telnet data struct UINT uSize; // basic properties: TCHAR szHost; //defined in Sshconfig UINT iPortNr; TCHAR... (2 Replies)
Discussion started by: Powerponken
2 Replies

8. UNIX for Dummies Questions & Answers

How to access a struct within a struct?

Can someone tell me how to do this? Just a thought that entered my mind when learning about structs. First thought was: struct one { struct two; } struct two { three; } one->two->three would this be how you would access "three"? (1 Reply)
Discussion started by: unbelievable21
1 Replies

9. Programming

How to typedef

I want to declare char ch as ch_9 with the help of the typedef statement. Thanks (1 Reply)
Discussion started by: krishna_sicsr
1 Replies

10. Solaris

Conflicting 'typedef' error - Which gcc switch to use?

I am using gcc3.3.5 on solaris2.7. Its a 64 bit compilation I am compiling a file 'plugin.cpp'. It includes mach.h and the complation gives the following error. ----------------------------------------------------------------- mach.h error: conflicting types for `typedef vx_u32_t... (0 Replies)
Discussion started by: amitc
0 Replies
Login or Register to Ask a Question