---
title: "Initiera struct array som tillhör en class?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/c-cpp/116281-initiera-struct-array-som-tillhör-en-class"
topic: "C/C++"
topic_url: "https://www.webforum.nu/amne/c-cpp"
author: "Alpha II"
published: "2004-11-19T21:09:40.000Z"
updated: "2004-11-20T16:21:50.000Z"
replies: 5
views: 454
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/c-cpp/116281-initiera-struct-array-som-tillhör-en-class"
---

# Initiera struct array som tillhör en class?

## #1 — Alpha II, 2004-11-19T21:09Z

Går det på något sätt att initiera en array som ligger inne i en klass på ett sätt som liknar detta?

```
	EqFunction functions[] =
	{
	{"sqrt", &_SQRT },
	{"pow", &_POW },

	{"cos", &_COS },
	{"sin", &_SIN },
	{"tan", &_TAN },

	{"nderiv", &_NDERIV },

	{NULL}
	};
```

Permalänk: https://www.webforum.nu/p/116281

## #2 — Alpha II, 2004-11-19T21:20Z

Problemet var större än så. Eftersom jag tvingades till att flytta in \_SQRT, \_POW, etc in i klassen när de helt plötsligt behövde tillgång till en annan funktion i klassen.

Men det går ju inte att få tag i en pekare till en funktion inne i klassen.

Den enda lösningen jag kommer på är att skicka med en pekare till klassen vid anrop till funktionerna och lägga till alla funktioner som friend-funktioner. Det tycker jag låter jobbigt och undrar om det finns ett bättre sätt. :)

Permalänk: https://www.webforum.nu/p/1489817

## #3 — Marcus E, 2004-11-20T01:52Z

Funktionspekare kan peka till funktioner i klasser med tillägg till C++. Vilken kompilator använder du?

Initieringen kan du göra med hjälp av en konstruktör. Anropa konstruktören för EqFunction istället för {} vid varje objekt i functions.

Permalänk: https://www.webforum.nu/p/1489873

## #4 — spango, 2004-11-20T09:59Z

Re: Initiera struct array som tillhör en class?

> **Alpha II skrev:**
>
> Går det på något sätt att initiera en array som ligger inne i en klass på ett sätt som liknar detta?
> 
>
>
> ```
> 	EqFunction functions[] =
> 	{
> 	{"sqrt", &_SQRT },
> 	{"pow", &_POW },
> 
> 	{"cos", &_COS },
> 	{"sin", &_SIN },
> 	{"tan", &_TAN },
> 
> 	{"nderiv", &_NDERIV },
> 
> 	{NULL}
> 	};
> ```

Den sista NULL-grejen kommer inte att funka, arrayen innehåller inte pekare utan faktiska objekt.

Permalänk: https://www.webforum.nu/p/1489888

## #5 — Alpha II, 2004-11-20T13:50Z

Re: Re: Initiera struct array som tillhör en class?

Marcus E,
Hur deklarera jag då funktionspekaren? För för mig fungerar det då inte. :( Jag har dock just skrivit om hela programmet så just nu är jag en liten bit ifrån att få in funktioner i ekvationerna igen så jag kan inte testa :)

```
struct EqFunction
{
	char * sCallName;
	tnum (*pFunc)(CEqParser & parser, int n, string *);
};
```

> **spango skrev:**
>
> > **Alpha II skrev:**
> >
> > Går det på något sätt att initiera en array som ligger inne i en klass på ett sätt som liknar detta?
> > 
> >
> >
> > ```
> > 	EqFunction functions[] =
> > 	{
> > 	{"sqrt", &_SQRT },
> > 	{"pow", &_POW },
> > 
> > 	{"cos", &_COS },
> > 	{"sin", &_SIN },
> > 	{"tan", &_TAN },
> > 
> > 	{"nderiv", &_NDERIV },
> > 
> > 	{NULL}
> > 	};
> > ```
>
> 
> Den sista NULL-grejen kommer inte att funka, arrayen innehåller inte pekare utan faktiska objekt.

Jo det fungerar faktiskt men NULL är inte en null-pekare utan betyder bara att structen nollställs. :)

Permalänk: https://www.webforum.nu/p/1489950

## #6 — Marcus E, 2004-11-20T16:21Z

Det kräver som sagt utökningar till C++ och för att kunna svara på den frågan behövs information om kompilatorn. Måste det vara standard C++ går det inte att göra.

Permalänk: https://www.webforum.nu/p/1490009

---

Tråden på webben: https://www.webforum.nu/amne/c-cpp/116281-initiera-struct-array-som-tillhör-en-class
