You are not logged in.

  • Login

1

Friday, October 20th 2006, 10:20pm

Fehler bei struct wieso?

Hallo wieso bekomm ich einen Fehler ????????

C Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <iostream>
//#include <string>
 
using namespace std;
 
 
 
struct person
{
	char vn[20];                //kann ich doch machen in struct 
char nn[20];
};                      // struct person mit vn und nn char [20]
 
int main()
{
person test;			//lege objekt an
 
test.vn="Max";
test.nn="Muster";
 
cout << test.vn << test.nn << endl;
 
 
 
}



Wieso bekomm ich folgende Fehlermeldung :

=': 'const char [4]' kann nicht in 'char [20]' konvertiert werden
Es gibt keinen Kontext, in dem diese Konvertierung möglich ist
.\helloworld.cpp(19) : error C2440: '=': 'const char [7]' kann nicht in 'char [20]' konvertiert werden
Es gibt keinen Kontext, in dem diese Konvertierung möglich ist



danke peer

2

Saturday, October 21st 2006, 7:31am

C++ ist in dieser Hinsicht doof ;-)
Der String "Max" ist ein char[4] da er aus 3 Zeichen + einem impliziten \0 besteht - soweit so gut.
Das was du da vor hast wäre eine Pointerzuweisung (Pointer == Array...), und das ist nicht was du willst. Stattdessen willst du den Bereich der Struktur befüllen und dafür gibt es das fabulöse strcpy bzw. strncpy.
Viel Spaß damit....

Beispiel:
strcpy (test.vn, "Max");

Probier mal aus was passiert wenn du folgende Zeile einbaust:
strcpy (test.vn, "MaxIstEinSchoenerNameAberDieserStringIstVielZuLang");

Was passiert verrate ich nicht, aber nimm lieber "strncpy"!

hth

3

Sunday, October 22nd 2006, 5:21pm

Hallo,
vielen dank für deine Antwort.

vielleicht kannst du mir sagen was ich damit machen kann?.

char test[25][70];

das ist doch ein mehrdimensional array kannst du mir vielleicht mal ein bsp geben ?


danke peer

4

Sunday, October 22nd 2006, 6:19pm

Du kannst dir zB eine Matrix vorstellen:
int matrix[4][4];
entspricht einer 4x4 Matrix!

hth

5

Tuesday, October 24th 2006, 8:57am

hi,
jo danke für deine hilfe



gruß peer

Similar threads

Social bookmarks