• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Strange bug: struct is not a type in C++?
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Strange bug: struct is not a type in C++?


  • Subject: Re: Strange bug: struct is not a type in C++?
  • From: Nicholaz Beresford <email@hidden>
  • Date: Wed, 08 Oct 2008 10:38:17 +0200


Try if this is what you want:


template<class Type> class class2 { public: int class2int; class1::insideStruct *p1; class1::insideStruct *p2; };



Nick



Jean-Denis Muys wrote:
Hi,

As a relative newcomer, I have a strange bug in my program, which I managed to reduce to the tiny C++ code below (use a standard C++ tool as a project type in XCode).

The compiler reject the "class1<Type>::insideStruct *p2;" declaration with the following error message:

/.../main.cpp:23: error: expected ';' before '*' token

while prepending "struct" in front of the declaration makes it quite happy.

Since in C++, structs are types, this shouldn't be: either they are both correct or they are both incorrect.

Did I miss something? Is this an XCode bug (I use version 3.1.1)? or my bug?

Thanks for the help,

Jean-Denis.


#include <iostream>

template<class Type>
class class1
{
public:
struct insideStruct
{
int anyInt;
Type fData;
};
insideStruct class1Data;
};


template<class Type>
class class2
{
public:
int class2int;
struct class1<Type>::insideStruct *p1; // Compiler doesn't like this
class1<Type>::insideStruct *p2; // but is just fine with this
};


int main (int argc, char * const argv[]) {
    // insert code here...
    std::cout << "Hello, Lucky World!\n";
    class1<double> c1;
    class2<double> c2;
    std::cout << "class1 size: " << sizeof(c1) << "\n";
    std::cout << "class2 size: " << sizeof(c2) << "\n";
    return 0;
}

_______________________________________________
Do not post admin requests to the list. They will be ignored.
Xcode-users mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Xcode-users mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden


  • Follow-Ups:
    • Re: Strange bug: struct is not a type in C++?
      • From: Jean-Denis Muys <email@hidden>
References: 
 >Strange bug: struct is not a type in C++? (From: Jean-Denis Muys <email@hidden>)

  • Prev by Date: Strange bug: struct is not a type in C++?
  • Next by Date: Re: Strange bug: struct is not a type in C++?
  • Previous by thread: Strange bug: struct is not a type in C++?
  • Next by thread: Re: Strange bug: struct is not a type in C++?
  • Index(es):
    • Date
    • Thread