---
title: "tekniska frågor"
type: "forum-thread"
url: "https://www.webforum.nu/amne/c-cpp/47423-tekniska-frågor"
topic: "C/C++"
topic_url: "https://www.webforum.nu/amne/c-cpp"
author: "Bratte"
published: "2002-07-07T12:54:33.000Z"
updated: "2002-07-08T00:00:01.000Z"
replies: 2
views: 229
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/47423-tekniska-frågor"
---

# tekniska frågor

## #1 — Bratte, 2002-07-07T12:54Z

Hej, jag har två tekniska frågor:

1\.) Jag initierade en array med struct'ar för ett tag sedan. Struct'en hade följande utseende:

struct vertex
{
     int x,y,z;
}

Jag initierade genom sattsen:

vertex V\[\]={{1,2,3},{4,5,6},{6,7,8}};

Detta gick bra men när jag bytte ut medlemsvariablerna i struct'en till:

struct vertex
{
     D3DXVECTOR3 P;
     D3DXVECTOR3 N;
}

så uppstod det problem när jag försökte initiera struct-arrayen på samma sätt , jag fick felmedelandet:

C:\\C++\\MyDirectX\\XXX\\XXX.CPP(151) : error C2440: 'initializing' : cannot convert from 'struct D3DXVECTOR3' to 'struct vertex'

Varför detta och går det att göra något åt det?

2\.) Någon som har använt sig av \_beginthread och \_endthread, brukar ni i så fall få oförkarliga felmedelanden som:

C:\\C++\\MyDirectX\\XXX\\XXX.CPP(283) : error C2065: '\_endthread' : undeclared identifier

även fast ni är 100% säkra på att process.h är inkluderat. Kompilatorn kan till och med svara på vilka parametrar funktioneran har som indata. Ska man använda något annat tillvägagångssätt för att konstruera trådar?

Tack på förhand /Simon

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

## #2 — Sang-drax, 2002-07-07T23:09Z

Är inte D3DXVECTOR3 en klass

I så fall är det inte så konstigt att det inte fungerar

Kan inte något i stilen med
ertex V\[\]={{{1,2,3},{1,2,3}},{{1,2,3},{1,2,3}},{{1,2,3},{1,2,3}}}; fungera?

Fast du bör nog lösa det på något annat sätt (tips: for-loop).

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

## #3 — developer, 2002-07-08T00:00Z

1\. Ett sätt är att lägga till en konstruktor till strukten. Då gör du såhär:

```
struct vertex
{ 
	D3DXVECTOR3 P;
	D3DXVECTOR3 N;
	vertex(const D3DXVECTOR3& p, const D3DXVECTOR3& n)
		: P(p), N(n)
	{
	}
};

void main()
{
	vertex V[] =
	{
		vertex( D3DXVECTOR3(1, 2, 3), D3DXVECTOR3(4, 5, 6) ),
		vertex( D3DXVECTOR3(9, 8, 7), D3DXVECTOR3(6, 5, 4) ),
	};
}
```

2\. Det beror på att du bygger projektet som single-threaded. Ställ om i project settings (compile nånting, code generation) så att ditt runtime library är Multithreaded \[Debug\] DLL. Anledningen till kompileringsfelet är att \_beginthread\[ex\] ligger innanför "#ifdef \_MT", dvs den finns bara med om man bygger multi-threaded.

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

---

Tråden på webben: https://www.webforum.nu/amne/c-cpp/47423-tekniska-frågor
