The ProgrammersTalk Community
Forum Register Search Today's Posts Mark Forums Read
Register

Go Back   The ProgrammersTalk Community > General Programming > C / C++


Welcome to the The ProgrammersTalk Community forums.

You are currently viewing our boards as a guest which gives you limited access to view most discussions and access our other features. By joining our free community you will have access to post topics, communicate privately with other members (PM), respond to polls, upload content and access many other special features. Registration is fast, simple and absolutely free so please, join our community today!

If you have any problems with the registration process or your account login, please contact contact us.
Reply
 
LinkBack Thread Tools    Display Modes   
  #1 (permalink)  
Old 03-14-2008, 02:19 PM
MrPickle's Avatar
MrPickle MrPickle is offline
PT Admin
Join Date: Nov 2007
Location: England, Lincolnshire
Posts: 332
iTrader: (0)
MrPickle is a jewel in the roughMrPickle is a jewel in the roughMrPickle is a jewel in the rough
Icon4 Operators

What is wrong with the following code? It was working fine yesterday and when I cam back to work on the code, it's started giving me the following errors.

.h
Code:
#define MD2_IDP2    (('2'<<24) + ('P'<<16) + ('D'<<8) + 'I')
#define MD2_VERSION 8

typedef float Vec3[3];

struct Vertex {
    Vec3 Pos;
    float *Normal;
};

struct Frame {
    char Name[16];
    Vertex* Vertices;
    Vec3 Scale;
    Vec3 Translate;
};

//Few more structs

class MD2Model {
    private:
        Frame* Frames;
        TexCoord* TexCoords;
        Vertex* Vertices;
        Header Head;
        GLuint TextureID;
        int CurrentFrame;
    public:
        ~MD2Model();
        MD2Model();
        void setAnimation(const char* Name);
        void Advance(float DT);
        void Draw(void);
        int Load(const char* Filename);
};
.ccp
Code:
//... MD2Model::Load(const char *Filename)
ifstream F;
char *buffer;
F.open(Filename, ios::in | ios::binary);
F.read((char *)&Head, sizeof(Header)); //Header is head's struct.
Frames = new Frame[Head.FrameCount]; // Memory Allocation - Frames is part of a class, same with head
buffer = new char[Head.FrameCount * Head.FrameSize]; //Memory Allocation
F.seekg(Head.FrameOffset, ios::beg);
F.read((char *)buffer, Head.FrameCount * Head.FrameSize);
for(int i=0; i<Head.FrameCount; i++)
    {
        Frames[i].Vertices = new Vertex[Head.VertexCount];
        Frames[i] = (Frame *)&buffer[Head.FrameCount * i]; // Error from this line
    }
//...
Error:
Quote:
error C2679: binary '=' : no operator found which takes a right-hand operand of type 'Frame *' (or there is no acceptable conversion)

__________________

Digg this Post! Del.Icio.Us this Post! Technorati this Post! Furl this Post! Mister Wong this Post! Newsvine this Post! Spurl this Post! Reddit this Post! Netscape this Post!
Reply With Quote
  #2 (permalink)  
Old 03-16-2008, 05:51 PM
Bench Bench is offline
Full Programmer
Join Date: Jul 2007
Location: UK
Posts: 116
iTrader: (0)
Bench is on a distinguished roadBench is on a distinguished roadBench is on a distinguished roadBench is on a distinguished roadBench is on a distinguished road
The error is telling you that this expression yields a pointer
Code:
(Frame *)&buffer[Head.FrameCount * i];
So you need to add the de-referencing operator in front of it, to yield the pointed-to object (which is what I assume you actually want).


the line would look like this
Code:
        Frames[i] = *(Frame *)&buffer[Head.FrameCount * i];

__________________

Digg this Post! Del.Icio.Us this Post! Technorati this Post! Furl this Post! Mister Wong this Post! Newsvine this Post! Spurl this Post! Reddit this Post! Netscape this Post!
Reply With Quote
Reply


Thread Tools
Display Modes

   Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On



All times are GMT -7. The time now is 08:05 PM. Powered by vBulletin
Copyright © 2000 - 2007, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO © 2007 ProgrammersTalk Sedo - Buy and Sell Domain Names and Websites project info: programmerstalk.net Statistics for project programmerstalk.net etracker® web controlling instead of log file analysis


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50