Nieuws:

Ubuntu-NL weer online!

Na een periode van technische problemen en een overbelaste server zijn we eindelijk weer bereikbaar.
Samen met Hobbynet, onze sponsor en hostingpartner, hebben we een oplossing gevonden zodat alles weer soepel draait.

Bedankt voor jullie geduld en begrip. We hopen nu weer verder te gaan waar we gebleven waren.

Het team van Ubuntu-NL

Welkom, Gast. Alsjeblieft inloggen of registreren.
Heb je de activerings-mail niet ontvangen?

Auteur Topic: [C++] Probleem met initialiseren van struct  (gelezen 1398 keer)

Offline Joshua822

  • Lid
[C++] Probleem met initialiseren van struct
« Gepost op: 2010/09/05, 20:40:13 »
Hallo allemaal.

Ik heb een probleem met het initialiseren van een struct. Ik heb de volgende code:
struct datetime
{

    unsigned int year;
    unsigned int month;
    unsigned int day;
    unsigned int hour;
    unsigned int minute;
    unsigned int second;

} a, b;

a = { 2010, 9, 5, 19, 57, 30 };
b = { 2010, 9, 8, 19, 57, 30 };
Maar dit werkt niet. Ik compileer met de volgende opdracht:
g++ datetime.cpp -Wall -o datetime.cppEn dan krijg ik de volgende foutmeldingen:
datetime.cpp:15: error: expected constructor, destructor, or type conversion before ‘=’ token
datetime.cpp:16: error: expected constructor, destructor, or type conversion before ‘=’ token
Ik snap dit echter niet. De code ziet er gewoon correct uit.

Weet iemand wat hier misgaat? Alvast bedankt! :)

Offline Joshua822

  • Lid
Re: [C++] Probleem met initialiseren van struct
« Reactie #1 Gepost op: 2010/09/06, 20:06:50 »
Niemand? :(

Offline Mossie

  • Lid
Re: [C++] Probleem met initialiseren van struct
« Reactie #2 Gepost op: 2010/09/08, 14:54:25 »
Dit ligt aan het feit dat je structures alleen op deze manier kan initialiseren als je ze declareert. Dit werkt wel:
struct _st {
    int a;
    int b;
};

struct _st var = {1, 2};

Maar dit werkt niet:
struct _st {
    int a;
    int b;
};

struct _st var;
var = {1, 2};

In het tweede geval moet je var.a en var.b apart een waarde geven.

Re: [C++] Probleem met initialiseren van struct
« Reactie #3 Gepost op: 2010/09/08, 16:56:52 »
Hmm, je kan er rond heen werken, maar dan zit je al in C++0x (initializer_list)

Zo doet Sylph::Array het ook.

Sylph::Array ar;
ar = { 1, 2, 3, 4};
I use a Unix-based system, that means I'll get laid as often as I have to reboot.
LibSylph
SeySayux.net