<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[problem bei ZUgriff auf globale Structur]]></title><description><![CDATA[<p>Hallo zusammen!</p>
<p>ich bin Neulinge in C++ und muss aber ein größes Projekt anlegen;<br />
Als Einstiegsprogramm möchte ich mit einer Methode Dezim() die X und Y pair werte als quasi ein ArryStruktur zuweisen und die mit get_x() und get_y() wieder zurückgeben; hier ist mein Code:</p>
<p>Projct.h</p>
<pre><code class="language-cpp">struct XYpair{
  double x;
  double y;
};

class INPUT{

 private:
  int psize;
  double xmin,xmax;
  XYpair* ptr;

 public:
  void setvalue();
  struct XYpair* Dezim(int&amp; psize, XYpair* ptr);
  double* get_x(int&amp;psize, XYpair* ptr);

};
[code]
project.cpp:
[/code]

void INPUT::setvalue(){
  cout &lt;&lt; &quot;xmin ein geben :&quot;&lt;&lt; '\n';
  cin &gt;&gt;xmin ;
  cout &lt;&lt; &quot;xmax ein geben :&quot;&lt;&lt; '\n';
  cin &gt;&gt;xmax;

}

INPUT::struct XYpair* Dezim(int psize, struct XYpair* ptr){

  doube xr=xmax-xmin/psize;
  doub X=xmin;
  int i;
   double* dptr= new XYpair(psize);
  for(i=0;i&lt;psize;i++){
    dptr[i].x=X;
    dptr[i].y=sin(X);
    X+=xr;
  }
  return dptr;
}

INPUT::double* get_x(int&amp;psize, XYpair* ptr){

  double* xptr= new double(psize);
  int i;
  for(i=0;i&lt;psize;i++){
    xptr[i]=ptr[i].x;
  }
  return xptr;
}

INPUT::double* get_y(int&amp;psize, XYpair* ptr){

  double* yptr= new double(psize);
  int i;
  for(i=0;i&lt;psize;i++){
    xptr[i]=ptr[i].y;
  }
  return yptr;
}
[code]

Main.cpp:
[/code]
struct XYpair* v,M;

 INPUT Func;

 int psize=10;

 func.setvalue();
 M=func.Dezim(psize,v);

for(int i=0;i&lt;psize;i++){
   cout &lt;&lt;&quot;M.x&quot;&lt;&lt;M[i].x&lt;&lt;&quot;M.y&quot;&lt;&lt;M[i].y;
 }

 func.get_x(psize,v)
</code></pre>
<pre><code>Compiler meldet mir die folgenden Fehler
</code></pre>
<p>g++ -c project1.cpp<br />
project1.cpp:15:8: error: expected unqualified-id before â€˜structâ€<img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/2122.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--trade_mark"
      title=":trade_mark:"
      alt="™"
    /><br />
make: *** [project.o] Fehler 1<br />
g++ -c main.o<br />
[code]</p>
<p>kann mir Jemand sagen wo die Fehler sind,</p>
<p>bin für jede Hilfe sehr dankbar</p>
<p>Gruß<br />
Sebleb</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/289881/problem-bei-zugriff-auf-globale-structur</link><generator>RSS for Node</generator><lastBuildDate>Tue, 18 Aug 2026 21:46:35 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/289881.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 14 Jul 2011 19:17:11 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to problem bei ZUgriff auf globale Structur on Thu, 14 Jul 2011 19:17:11 GMT]]></title><description><![CDATA[<p>Hallo zusammen!</p>
<p>ich bin Neulinge in C++ und muss aber ein größes Projekt anlegen;<br />
Als Einstiegsprogramm möchte ich mit einer Methode Dezim() die X und Y pair werte als quasi ein ArryStruktur zuweisen und die mit get_x() und get_y() wieder zurückgeben; hier ist mein Code:</p>
<p>Projct.h</p>
<pre><code class="language-cpp">struct XYpair{
  double x;
  double y;
};

class INPUT{

 private:
  int psize;
  double xmin,xmax;
  XYpair* ptr;

 public:
  void setvalue();
  struct XYpair* Dezim(int&amp; psize, XYpair* ptr);
  double* get_x(int&amp;psize, XYpair* ptr);

};
[code]
project.cpp:
[/code]

void INPUT::setvalue(){
  cout &lt;&lt; &quot;xmin ein geben :&quot;&lt;&lt; '\n';
  cin &gt;&gt;xmin ;
  cout &lt;&lt; &quot;xmax ein geben :&quot;&lt;&lt; '\n';
  cin &gt;&gt;xmax;

}

INPUT::struct XYpair* Dezim(int psize, struct XYpair* ptr){

  doube xr=xmax-xmin/psize;
  doub X=xmin;
  int i;
   double* dptr= new XYpair(psize);
  for(i=0;i&lt;psize;i++){
    dptr[i].x=X;
    dptr[i].y=sin(X);
    X+=xr;
  }
  return dptr;
}

INPUT::double* get_x(int&amp;psize, XYpair* ptr){

  double* xptr= new double(psize);
  int i;
  for(i=0;i&lt;psize;i++){
    xptr[i]=ptr[i].x;
  }
  return xptr;
}

INPUT::double* get_y(int&amp;psize, XYpair* ptr){

  double* yptr= new double(psize);
  int i;
  for(i=0;i&lt;psize;i++){
    xptr[i]=ptr[i].y;
  }
  return yptr;
}
[code]

Main.cpp:
[/code]
struct XYpair* v,M;

 INPUT Func;

 int psize=10;

 func.setvalue();
 M=func.Dezim(psize,v);

for(int i=0;i&lt;psize;i++){
   cout &lt;&lt;&quot;M.x&quot;&lt;&lt;M[i].x&lt;&lt;&quot;M.y&quot;&lt;&lt;M[i].y;
 }

 func.get_x(psize,v)
</code></pre>
<pre><code>Compiler meldet mir die folgenden Fehler
</code></pre>
<p>g++ -c project1.cpp<br />
project1.cpp:15:8: error: expected unqualified-id before â€˜structâ€<img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/2122.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--trade_mark"
      title=":trade_mark:"
      alt="™"
    /><br />
make: *** [project.o] Fehler 1<br />
g++ -c main.o<br />
[code]</p>
<p>kann mir Jemand sagen wo die Fehler sind,</p>
<p>bin für jede Hilfe sehr dankbar</p>
<p>Gruß<br />
Sebleb</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2092865</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2092865</guid><dc:creator><![CDATA[sebleb]]></dc:creator><pubDate>Thu, 14 Jul 2011 19:17:11 GMT</pubDate></item><item><title><![CDATA[Reply to problem bei ZUgriff auf globale Structur on Thu, 14 Jul 2011 19:27:23 GMT]]></title><description><![CDATA[<p>Erstmal solltest du nicht so viel mit Zeigern um dich werfen - dein struct ist klein genug, um per Wert herumgereicht werden zu können.<br />
Zweitens sind mitunter ein paar #include's nützlich.<br />
Drittens wirf mal einen Blick in die Standard-Bibliothek - dort findest du u.a. std::pair&lt;&gt; und std::vector&lt;&gt;.</p>
<p>Viertens: Wenn du ein Array per new anfordern willst, dann gib die Größe in eckigen Klammern an (Z.36, 48 und 58), außerdem ist M im Hauptprogramm kein Zeiger - und Referenzübergabe macht nur Sinn, wenn du den Wert ändern und zurückgeben willst.</p>
<p>PS: Und zu jedem new sollte ein delete gehören.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2092871</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2092871</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Thu, 14 Jul 2011 19:27:23 GMT</pubDate></item><item><title><![CDATA[Reply to problem bei ZUgriff auf globale Structur on Sat, 16 Jul 2011 11:57:44 GMT]]></title><description><![CDATA[<p>Hallo CStoll;</p>
<p>Danke für deine Tips und Sorry dass ich zupät gemeldt habe ;<br />
ich bin dabei STL anzuschaue und habe mein Programm ein bisschen geändert aber anscheined kriege ich es nicht zum laufen ; die Elmentaremethode kann nicht Struct als Rückgabwert zurückleifen:</p>
<p>project1.h<br />
[cpp]<br />
struct XYpair{<br />
double x;<br />
double y;<br />
};</p>
<p>class INPUT{</p>
<p>private:<br />
int psize;<br />
double xmin,xmax;<br />
XYpair* ptr;</p>
<p>public:<br />
void setvalue();<br />
struct XYpair* Dezim(int&amp; psize, XYpair* ptr);</p>
<p>};<br />
[cpp]<br />
project1.cpp:<br />
void INPUT::setvalue(){<br />
cout &lt;&lt; &quot;xmin ein geben :&quot;&lt;&lt; '\n';<br />
cin &gt;&gt;xmin ;<br />
cout &lt;&lt; &quot;xmax ein geben :&quot;&lt;&lt; '\n';<br />
cin &gt;&gt;xmax;</p>
<p>}</p>
<p>INPUT::struct XYpair* Dezim(int psize, struct XYpair* ptr){</p>
<p>doube xr=xmax-xmin/psize;<br />
doub X=xmin;<br />
int i;<br />
double* dptr= new XYpair[psize];<br />
for(i=0;i&lt;psize;i++){<br />
dptr[i].x=X;<br />
dptr[i].y=sin(X);<br />
X+=xr;<br />
}<br />
delete[]dptr;<br />
return dptr;<br />
}</p>
<p>main.cpp:</p>
<p>int psize=10;<br />
struct XYpair* v, *M;<br />
INPUT Func;</p>
<p>Func.setvalue();<br />
M=Func.Dezim(psize,v);</p>
<p>for(int i=0;i&lt;psize;i++){<br />
cout &lt;&lt;&quot;M.x&quot;&lt;&lt;M[i].x&lt;&lt;&quot;M.y&quot;&lt;&lt;M[i].y;<br />
}<br />
return 0;<br />
[cpp]</p>
<p>Compiler meldet folgende Fehler:<br />
g++ -c project1.cpp<br />
project1.cpp:15:8: error: expected unqualified-id before â€˜structâ€<img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/2122.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--trade_mark"
      title=":trade_mark:"
      alt="™"
    /><br />
make: *** [project.o] Fehler 1<br />
g++ -c main.o</p>
<p>bin für jede Hilfe sehr danke bar,</p>
<p>Gruß<br />
Seb</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2093591</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2093591</guid><dc:creator><![CDATA[sebleb]]></dc:creator><pubDate>Sat, 16 Jul 2011 11:57:44 GMT</pubDate></item><item><title><![CDATA[Reply to problem bei ZUgriff auf globale Structur on Sat, 16 Jul 2011 12:55:57 GMT]]></title><description><![CDATA[<p>`INPUT::struct XYpair* Dezim(int psize, struct XYpair* ptr){</p>
<p>`<br />
<img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/27a1.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--right_arrow"
      title=":arrow_right:"
      alt="➡"
    /></p>
<p>`XYpair* INPUT::Dezim(int psize, struct XYpair* ptr){</p>
<p>`</p>
<p>Das struct gehört in C++ nicht mehr zur Typenbezeichnung (ist optional). Du kannst also überall XYPair statt struct XYPair schreiben.</p>
<p>Und hör auf das was CStoll über die Standardbibliothek gesagt hat, ich kann davon nicht viel bei dir erkennen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2093604</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2093604</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Sat, 16 Jul 2011 12:55:57 GMT</pubDate></item><item><title><![CDATA[Reply to problem bei ZUgriff auf globale Structur on Sat, 16 Jul 2011 14:44:23 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">INPUT::struct XYpair* Dezim(int psize, struct XYpair* ptr){
...
INPUT::double* get_x(int&amp;psize, XYpair* ptr){
...
INPUT::double* get_y(int&amp;psize, XYpair* ptr){
</code></pre>
<p>==&gt;</p>
<pre><code class="language-cpp">struct XYpair* INPUT::Dezim(int psize, struct XYpair* ptr){
...
double* INPUT::get_x(int&amp;psize, XYpair* ptr){
...
double* INPUT::get_y(int&amp;psize, XYpair* ptr){
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2093627</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2093627</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Sat, 16 Jul 2011 14:44:23 GMT</pubDate></item><item><title><![CDATA[Reply to problem bei ZUgriff auf globale Structur on Sat, 16 Jul 2011 17:37:41 GMT]]></title><description><![CDATA[<p>Danke Sehr</p>
<p>es hat gut geklappt das waren genau meine Fehler.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2093669</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2093669</guid><dc:creator><![CDATA[sebleb]]></dc:creator><pubDate>Sat, 16 Jul 2011 17:37:41 GMT</pubDate></item></channel></rss>