I have a simple container class with an enum:
class MyObject {
typedef enum {
etype1,
etype2
} EType;
};
In another class I have a vector:
std::vector<MyObject::EType> type_vec;
Compiling works okay up to this point, but I need a vector of my enum types.
If I try to add one:
type_vec.push_back(MyObject::etype1);
I get a compiler error C2666 "etc etc" 2 overloads have similar conversions.
I use this enum in many places without a problem, just creating and using a
vector of them seems to be a problem.
What am I doing wrong? 3 18869
"BCC" <a@b.c> wrote in message
news:u%**************@newssvr14.news.prodigy.com.. . I have a simple container class with an enum:
class MyObject { typedef enum { etype1, etype2 } EType; };
In another class I have a vector: std::vector<MyObject::EType> type_vec;
Compiling works okay up to this point, but I need a vector of my enum types. If I try to add one:
type_vec.push_back(MyObject::etype1);
I get a compiler error C2666 "etc etc" 2 overloads have similar conversions.
I use this enum in many places without a problem, just creating and using a vector of them seems to be a problem.
What am I doing wrong?
Which compiler are you using?
This code works fine on both Comeau online as well as VC++ 7.
#include <vector>
class MyObject {
public:
typedef enum {
etype1,
etype2
} EType;
};
std::vector<MyObject::EType> type_vec;
int main ()
{
type_vec.push_back(MyObject::etype1);
type_vec.push_back(MyObject::etype2);
}
HTH,
J.Schafer
> Which compiler are you using? This code works fine on both Comeau online as well as VC++ 7.
#include <vector> class MyObject { public: typedef enum { etype1, etype2 } EType; }; std::vector<MyObject::EType> type_vec; int main () { type_vec.push_back(MyObject::etype1); type_vec.push_back(MyObject::etype2); }
HTH, J.Schafer
VC++ 7.... hmmm, something funky must be going on. But I cannot for the
life of me figure it out.
Thanks though, at least now I know it -should- compile :)
"BCC" <a@b.c> wrote in message
news:C9***************@newssvr14.news.prodigy.com. .. Which compiler are you using? This code works fine on both Comeau online as well as VC++ 7.
#include <vector> class MyObject { public: typedef enum { etype1, etype2 } EType; }; std::vector<MyObject::EType> type_vec; int main () { type_vec.push_back(MyObject::etype1); type_vec.push_back(MyObject::etype2); }
HTH, J.Schafer
VC++ 7.... hmmm, something funky must be going on. But I cannot for the life of me figure it out.
Seems like you have a problem somewhere else 'cause this code also compiles
(as it should IMHO) under VC++ 6 SP5. Probably you can destil the code that
causes trouble and post it.
Chris This thread has been closed and replies have been disabled. Please start a new discussion. Similar topics
by: Alexander Stippler |
last post by:
Hello,
some time ago I learnt much about restricting template parameters by
checking some properties upon these and exploiting SFINAE. But the
existence of unnamed enum types makes me doubt if...
|
by: Klaus Schneider |
last post by:
Hi all!
I'm having trouble with a template function with variable arguments when I
parse an enum type as variable argument. Example:
template <class T>
bool test(int num, ...)
{
va_list ap;...
|
by: Olaf Petzold |
last post by:
Hi,
the following code fragment doesn't compile:
----8<------
#include <iostream>
template<class T, std::size_t Sz>
|
by: Fred Zwarts |
last post by:
What is the recommended way to loop over all enum values of a certain enum type?
Consider the following definition:
typdef enum {A=2, B, C=5, D} E;
then
for (E x = A; x <= D; ++x) { ... }
|
by: T.A. |
last post by:
Class hierarchy below demonstrates my problem:
#include <vector>
#include <boost/smart_ptr.hpp>
class Fruit {
public:
virtual ~Fruit() = 0;
};
|
by: barcaroller |
last post by:
What is a good (or standard) way of moving the contents of an enum into an
STL container (such as a list or a vector)?
|
by: pereges |
last post by:
I hae compiled and executed codes of vector.c, reader.c , test.c
seperately and they can be execute in proper manner and give correct
outputs but when i tried to integrate them all into a single...
|
by: oktayarslan |
last post by:
Hi all;
I have a problem when inserting an element to a vector. All I want is
reading some data from a file and putting them into a vector. But the
program is crashing after pushing a data which...
|
by: pereges |
last post by:
Hello, I have the following structure -
typedef struct
{
double x, y, z;
}vector;
In certain places, I could avoid triplification of code by using an
array instead of x, y, z. For eg:
|
by: ryjfgjl |
last post by:
ExcelToDatabase: batch import excel into database automatically...
|
by: isladogs |
last post by:
The next Access Europe meeting will be on Wednesday 6 Mar 2024 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM).
In this month's session, we are pleased to welcome back...
|
by: Vimpel783 |
last post by:
Hello!
Guys, I found this code on the Internet, but I need to modify it a little. It works well, the problem is this: Data is sent from only one cell, in this case B5, but it is necessary that data...
|
by: jfyes |
last post by:
As a hardware engineer, after seeing that CEIWEI recently released a new tool for Modbus RTU Over TCP/UDP filtering and monitoring, I actively went to its official website to take a look. It turned...
|
by: ArrayDB |
last post by:
The error message I've encountered is; ERROR:root:Error generating model response: exception: access violation writing 0x0000000000005140, which seems to be indicative of an access violation...
|
by: PapaRatzi |
last post by:
Hello,
I am teaching myself MS Access forms design and Visual Basic. I've created a table to capture a list of Top 30 singles and forms to capture new entries. The final step is a form (unbound)...
|
by: CloudSolutions |
last post by:
Introduction:
For many beginners and individual users, requiring a credit card and email registration may pose a barrier when starting to use cloud servers. However, some cloud server providers now...
|
by: Shællîpôpï 09 |
last post by:
If u are using a keypad phone, how do u turn on JavaScript, to access features like WhatsApp, Facebook, Instagram....
|
by: isladogs |
last post by:
The next Access Europe User Group meeting will be on Wednesday 3 Apr 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM).
In this session, we are pleased to welcome former...
| |