bookmark - Confusion With Structs

Confusion With Structs

 
 Discussion by xboxrulz with 2 Replies.
 Last Update: January 23, 2009, 12:04 am
 
bookmark - Confusion With Structs  
    
free web hosting
 
Alright,

I'm getting errors and it's confusing me on how to declare and pass a struct.

http://pastebin.ca/1315254


The error I'm getting is:

QUOTE

1>
Build started: Project: Workshop2, Configuration: Debug x64

1>Compiling...
1>libpos.cpp
1>.\libpos.cpp(24) : error C2027: use of undefined type 'POS'
1> d:\devel\c++\workshop2\workshop2\pointofsales.h(19) : see declaration of 'POS'
1>.\libpos.cpp(24) : error C2228: left of '.taxable' must have class/struct/union
1>.\libpos.cpp(25) : error C2027: use of undefined type 'POS'
1> d:\devel\c++\workshop2\workshop2\pointofsales.h(19) : see declaration of 'POS'
1>.\libpos.cpp(25) : error C2228: left of '.ftax' must have class/struct/union
1>.\libpos.cpp(25) : error C2676: binary '[' : 'POS' does not define this operator or a conversion to a type acceptable to the predefined operator
1>.\libpos.cpp(25) : error C2228: left of '.price' must have class/struct/union
1>.\libpos.cpp(26) : error C2027: use of undefined type 'POS'
1> d:\devel\c++\workshop2\workshop2\pointofsales.h(19) : see declaration of 'POS'
1>.\libpos.cpp(26) : error C2228: left of '.ptax' must have class/struct/union
1>.\libpos.cpp(26) : error C2676: binary '[' : 'POS' does not define this operator or a conversion to a type acceptable to the predefined operator
1>.\libpos.cpp(26) : error C2228: left of '.price' must have class/struct/union
1>.\libpos.cpp(28) : error C2027: use of undefined type 'POS'
1> d:\devel\c++\workshop2\workshop2\pointofsales.h(19) : see declaration of 'POS'
1>.\libpos.cpp(28) : error C2228: left of '.ftax' must have class/struct/union
1>.\libpos.cpp(29) : error C2027: use of undefined type 'POS'
1> d:\devel\c++\workshop2\workshop2\pointofsales.h(19) : see declaration of 'POS'
1>.\libpos.cpp(29) : error C2228: left of '.ptax' must have class/struct/union
1>.\libpos.cpp(31) : error C2027: use of undefined type 'POS'
1> d:\devel\c++\workshop2\workshop2\pointofsales.h(19) : see declaration of 'POS'
1>.\libpos.cpp(31) : error C2228: left of '.quantity' must have class/struct/union
1>.\libpos.cpp(31) : error C2027: use of undefined type 'POS'
1> d:\devel\c++\workshop2\workshop2\pointofsales.h(19) : see declaration of 'POS'
1>.\libpos.cpp(31) : error C2228: left of '.price' must have class/struct/union
1>.\libpos.cpp(32) : error C2027: use of undefined type 'POS'
1> d:\devel\c++\workshop2\workshop2\pointofsales.h(19) : see declaration of 'POS'
1>.\libpos.cpp(32) : error C2228: left of '.quantity' must have class/struct/union
1>.\libpos.cpp(32) : error C2027: use of undefined type 'POS'
1> d:\devel\c++\workshop2\workshop2\pointofsales.h(19) : see declaration of 'POS'
1>.\libpos.cpp(32) : error C2228: left of '.ftax' must have class/struct/union
1>.\libpos.cpp(32) : error C2027: use of undefined type 'POS'
1> d:\devel\c++\workshop2\workshop2\pointofsales.h(19) : see declaration of 'POS'
1>.\libpos.cpp(32) : error C2228: left of '.ptax' must have class/struct/union
1>pointofsales.cpp
1>.\pointofsales.cpp(37) : error C2676: binary '[' : 'POS' does not define this operator or a conversion to a type acceptable to the predefined operator
1>.\pointofsales.cpp(37) : error C2228: left of '.quantity' must have class/struct/union
1>.\pointofsales.cpp(46) : error C2664: 'posmath' : cannot convert parameter 1 from 'POS' to 'POS *'
1> No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called
1>.\pointofsales.cpp(49) : error C2065: 'ftax' : undeclared identifier
1>.\pointofsales.cpp(50) : error C2065: 'ptax' : undeclared identifier
1>Generating Code...
1>Compiling...
1>main.cpp
1>Generating Code...
1>Build log was saved at "file://d:\devel\c++\Workshop2\Workshop2\x64\Debug\BuildLog.htm"
1>Workshop2 - 29 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========


Please help.

Thanks,
xboxrulz

Thu Jan 22, 2009    Reply    New Discussion   


If you pass a struct, you need to tell your program that it's a struct, so

CODE

void posmath (POS sales, int *intCount, double *total, double *stotal){


should be

CODE

void posmath (struct POS sales, int *intCount, double *total, double *stotal){


Also, because you're working in C++, you need to declare what namespace you use :mellow:

Thu Jan 22, 2009    Reply    New Discussion   

alright got it, thanks.

i did declare my namespace in my custom stdheader.h where I imported everything.

xboxrulz

Fri Jan 23, 2009    Reply    New Discussion   

Quickly Post to Confusion With Structs  w/o signup Share Info about Confusion With Structs  using Facebook, Twitter etc. email your friend about Confusion With Structs Print
Reply / Comment Ask a Question? Share / Bookmark E-Mail a Friend Print

Vs2008: Error Lnk2019   Vs2008: Error Lnk2019 (3) (1) Opening Files With As A Function?   Opening Files With As A Function?