Structure of Arrays in C++ using NEW operator

Please support our C++ advertiser: Programming Forums - DaniWeb Sister Site
Reply

Join Date: Feb 2005
Posts: 6
Reputation: F50 is an unknown quantity at this point 
Solved Threads: 0
F50 F50 is offline Offline
Newbie Poster

Structure of Arrays in C++ using NEW operator

 
0
  #1
Feb 7th, 2005
HI guys,

This code dosn't compile, I think it is right but it gives an error when i use the -> to access the members of my struct.



#include <stdio.h>
#include <stddef.h>
#define MAX_EVENTS 100


//Structure for Queue Elements
struct Event
{
int event_type;
int time_value;
int bus_num;
int bus_stop;
};


void main()
{
Event *eventPtr;
// EventPtr event_queue;

eventPtr = new Event[MAX_EVENTS];

event_queue[0]->event_type = 1;
event_queue[0]->time_value = 2;
event_queue[0]->bus_num = 0;
event_queue[0]->bus_stop = 1;

}



It works when i create it without using the "new" operator. But this way it dosn't. WHat's going on here? I'm using the Visual C++ 6.0 compiler.

thanks..
Reply With Quote Quick reply to this message  
Join Date: Apr 2004
Posts: 4,461
Reputation: Dave Sinkula has a brilliant future Dave Sinkula has a brilliant future Dave Sinkula has a brilliant future Dave Sinkula has a brilliant future Dave Sinkula has a brilliant future Dave Sinkula has a brilliant future Dave Sinkula has a brilliant future Dave Sinkula has a brilliant future Dave Sinkula has a brilliant future Dave Sinkula has a brilliant future Dave Sinkula has a brilliant future 
Solved Threads: 254
Team Colleague
Dave Sinkula's Avatar
Dave Sinkula Dave Sinkula is offline Offline
long time no c

Re: Structure of Arrays in C++ using NEW operator

 
0
  #2
Feb 7th, 2005
Try this:
int main()
{
// EventPtr event_queue;
   Event *eventPtr;
   eventPtr = new Event[MAX_EVENTS];

   eventPtr[0].event_type = 1;
   eventPtr[0].time_value = 2;
   eventPtr[0].bus_num = 0;
   eventPtr[0].bus_stop = 1;
   return 0;
}
"One of the methods used by statists to destroy capitalism consists in establishing controls that tie a given industry hand and foot, making it unable to solve its problems, then declaring that freedom has failed and stronger controls are necessary." --Ayn Rand
Reply With Quote Quick reply to this message  
Join Date: Feb 2005
Posts: 6
Reputation: F50 is an unknown quantity at this point 
Solved Threads: 0
F50 F50 is offline Offline
Newbie Poster

Re: Structure of Arrays in C++ using NEW operator

 
0
  #3
Feb 7th, 2005
I'm sorry, i cut and pasted the wrong thing last time. It should have pasted it like this.

#include <stdio.h>
#include <stddef.h>
#define MAX_EVENTS 100


//Structure for Queue Elements
struct Event
{
int event_type;
int time_value;
int bus_num;
int bus_stop;
};


void main()
{
Event *eventPtr;

eventPtr = new Event[MAX_EVENTS];

eventPtr[0]->event_type=1;
eventPtr[0]->time_value = 2;
eventPtr[0]->bus_num = 0;
eventPtr[0]->bus_stop = 1;

}



when i compile that it says. "error C2819: type 'Event' does not have an overloaded member 'operator ->'"
Reply With Quote Quick reply to this message  
Join Date: Apr 2004
Posts: 4,461
Reputation: Dave Sinkula has a brilliant future Dave Sinkula has a brilliant future Dave Sinkula has a brilliant future Dave Sinkula has a brilliant future Dave Sinkula has a brilliant future Dave Sinkula has a brilliant future Dave Sinkula has a brilliant future Dave Sinkula has a brilliant future Dave Sinkula has a brilliant future Dave Sinkula has a brilliant future Dave Sinkula has a brilliant future 
Solved Threads: 254
Team Colleague
Dave Sinkula's Avatar
Dave Sinkula Dave Sinkula is offline Offline
long time no c

Re: Structure of Arrays in C++ using NEW operator

 
0
  #4
Feb 7th, 2005
Same answer: use the . operator.
"One of the methods used by statists to destroy capitalism consists in establishing controls that tie a given industry hand and foot, making it unable to solve its problems, then declaring that freedom has failed and stronger controls are necessary." --Ayn Rand
Reply With Quote Quick reply to this message  
Join Date: Feb 2005
Posts: 6
Reputation: F50 is an unknown quantity at this point 
Solved Threads: 0
F50 F50 is offline Offline
Newbie Poster

Re: Structure of Arrays in C++ using NEW operator

 
0
  #5
Feb 7th, 2005
okay. thanks. I was just wondering why the -> operator wasn't working.

Also, would it be possible to create this same structure, but with a doubly linked ring, or a balanced tree? Instead of using arrays.

Links to already compilable data strucutres would be great. Professor said that is okay to use since it is not the focus of this program.
Reply With Quote Quick reply to this message  
Join Date: Apr 2004
Posts: 4,461
Reputation: Dave Sinkula has a brilliant future Dave Sinkula has a brilliant future Dave Sinkula has a brilliant future Dave Sinkula has a brilliant future Dave Sinkula has a brilliant future Dave Sinkula has a brilliant future Dave Sinkula has a brilliant future Dave Sinkula has a brilliant future Dave Sinkula has a brilliant future Dave Sinkula has a brilliant future Dave Sinkula has a brilliant future 
Solved Threads: 254
Team Colleague
Dave Sinkula's Avatar
Dave Sinkula Dave Sinkula is offline Offline
long time no c

Re: Structure of Arrays in C++ using NEW operator

 
0
  #6
Feb 7th, 2005
Originally Posted by F50
I was just wondering why the -> operator wasn't working.
Because the -> operator is used with a pointer; eventPtr[0] is not a pointer, it is an object. The . operator is used with an object.
"One of the methods used by statists to destroy capitalism consists in establishing controls that tie a given industry hand and foot, making it unable to solve its problems, then declaring that freedom has failed and stronger controls are necessary." --Ayn Rand
Reply With Quote Quick reply to this message  
Join Date: Feb 2005
Posts: 30
Reputation: Intel is an unknown quantity at this point 
Solved Threads: 1
Intel Intel is offline Offline
Light Poster

Re: Structure of Arrays in C++ using NEW operator

 
0
  #7
Feb 7th, 2005
eventPtr[0] is a variable associated with a memory address.
Pointers store the address of some other variable associated with a memory address. We dereference the pointer to get the value that is stored at the memory location in the pointer, ie using '->'.
Reply With Quote Quick reply to this message  
Reply

This thread is more than three months old.
Perhaps start a new thread instead?
Message:



Similar Threads
Other Threads in the C++ Forum


Views: 14545 | Replies: 6
Thread Tools Search this Thread



Tag cloud for C++
About Us | Contact Us | Advertise | DaniWeb | Acceptable Use Policy | RSS Feed

©2003 - 2009 DaniWeb® LLC