Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Arrays zurückgeben?

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 < [ 2 ]
000
24.01.2004, 15:27 Uhr
Space



Besteht eine Möglichkeit, dass ich einen ganzen Array zurückgebe mit return?

Space
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
24.01.2004, 15:31 Uhr
Pablo
Supertux
(Operator)


Ich habe das noch nie gemacht, aber ich würde sagen nicht. Was du machen kannst ist einen Pointer aus das erste Element zurückgeben.
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
24.01.2004, 17:24 Uhr
derphilipder



Ergebnistyp Array ist nicht erlaubt...wie Pablo sagt, nur über Pointer möglich.
--
Konfuzius says: "A man who goes to bed with an itchy asshole is a man who wakes up with stinky finger!"
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
25.01.2004, 00:29 Uhr
~MasterCAD
Gast


also es ist schon möglich ein array komplett zurück zu geben mittels return und zwar indem man :


C++:
CObArray* m_poaArray = new CObArray;
    m_poaArray = GetArray();





C++:
    
CObArray* CEigeneKlasse::GetArray()
{
    return &m_oaArray;
}


einbaut.

mfg CAD

Dieser Post wurde am 25.01.2004 um 02:39 Uhr von Pablo editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
25.01.2004, 02:40 Uhr
Pablo
Supertux
(Operator)


Ja, aber dann ist man nicht mehr portabel und das ist nicht ANSI C/C++, sondern MFC!
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!

Dieser Post wurde am 25.01.2004 um 02:41 Uhr von Pablo editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
25.01.2004, 08:25 Uhr
(un)wissender
Niveauwart


Hä?
Das ist weiterhin nur Pointerrumgeschiebe!
Außerdem sehr seltsam, weil du einmal m_poaArray mit new initialisiert und dann einen Pointer auf einen Pointer einem Pointer(m_poaArray ) zuweist.
Ich glaube, du musst das & weglassen.

@Pablo
Außerdem ist das wohl ANSI, nur weil da C vor den Klassen steht ist es noch lange nicht nicht ANSI.
--
Wer früher stirbt ist länger tot.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
25.01.2004, 11:44 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


CObArray ist MFC ...
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
25.01.2004, 11:57 Uhr
Pablo
Supertux
(Operator)


@wissender: bevor ich gepostet habe, habe ich mich vergewissert, dass es wirklich nicht ANSI war, und hab gar nix gefunden. (Google-linux mode). Aber als ich in Google (normal) nach CObArray gesucht habe, kam nur MFC, MSDN, VC++, und bla bla. Dann habe ich einem MFC Buch nachgeschaut und das Buch stelt die Klasse als ein Wunder der MFC vor.
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
25.01.2004, 14:42 Uhr
Spacelord
Hoffnungsloser Fall



Zitat:
FloSoft postete
CObArray ist MFC ...




C++:
typedef vector<CEigeneKlasse> CObArray;



...nicht nur

MfG Spacelord
--
.....Ich mach jetzt nämlich mein Jodeldiplom.Dann hab ich endlich was Eigenes.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
25.01.2004, 22:07 Uhr
~MasterCAD
Gast


tztztz ihr kleingeister

ich dachte das es kein prob is die funktion dann auf ansi umzubauen der sinn is ja der gleiche nur das man statt nem CObArray einfach ein int i[0][0] array übergibt . also nochma in reinem c++ ohne jeden schnickschnack :

zuerst die funktion main die das array definiert etc :


C++:
//main.cpp
#include <iostream>
#include <string>
#include "zunull.h"

using namespace std;

void main(void)
{
    int meinArray[5] = {00, 11 , 22 , 33 , 44 };
    int i;
    cout << "Vorher: ";
    for (i = 0; i < 5; i++)
    cout << meinArray[i] << ' ';
    zunull(meinArray);
    cout << endl << "Nachher: ";
    for (i = 0; i < 5; i++)
    cout << meinArray[i] << ' ';
}



nun die funktion an die das array übergeben und verändert wird :


C++:
// zunull.cpp
#include<iostream>
#include"zunull.h"

void zunull(int *arr)
{
   int i;
   for (i = 0; i < 5; i++)
      arr[i] = 0;
}



naja is eigentlich klar aber egal :


C++:
// zunull.h
void zunull(int *arr);



ich hoffe nu is das klarer

und @unwissender guck dir mein post einfach ma genau an :

1. wird ein array im speicher angelegt
2. wird ein Zeiger erstellt, an den dann das eigentliche array übergeben wird

wenn du das & wegläßt funzt nix mehr außerdem sollte schon klar sein was die funktion von pointern und referenzen ist.

mfg CAD
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ]     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: