<?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[Probleme mit dem VS 2008]]></title><description><![CDATA[<p>Hi!</p>
<p>Im Linux Compiler funkt der Code, aber wieso nicht im VS 2008 ?<br />
Wo liegen hier die Probleme ?<br />
Bekomme folgende Fehlermeldungen:</p>
<p>run.cpp(108) : warning C4996: 'ctime': This function or variable may be unsafe. Consider using ctime_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS.<br />
c:\programme\microsoft visual studio 9.0\vc\include\time.inl(88): Siehe Deklaration von 'ctime'<br />
run.cpp(143) : error C2533: 'ReverseText::{ctor}': Ergebnistyp für Konstruktoren nicht zulässig<br />
run.cpp(185) : error C2264: 'ReverseText::ReverseText': Fehler in der Funktionsdefinition oder Funktionsdeklaration, Funktion nicht aufgerufen</p>
<p>Code:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;string&gt;
#include &lt;time.h&gt;
#include &lt;algorithm&gt;

using namespace std;

class SomeText {
public:
    virtual string getText() = 0;
    virtual ~SomeText();
};

SomeText::~SomeText()
{
}

//--------------------------------------------
// Fixer Text

class FixedText : public SomeText {
    string txt;
public:
    FixedText(string s);
    virtual string getText();
};

FixedText::FixedText(string s)
    : txt(s)
{
}

string FixedText::getText()
{
    return txt;
}
//--------------------------------------------
// Dekorator - auf Länge l auffüllen/kürzen

class FilledText : public SomeText {
    SomeText&amp; st;
    int len;
public:
    FilledText(SomeText&amp; t, int l);
    virtual string getText();
};

FilledText::FilledText(SomeText&amp; t, int l)
    : st(t), len(l)
{
}

string FilledText::getText()
{
    string s = st.getText();
    int l = s.length();
    if (l &gt;= len)
	return s.substr(0, len);
    else
	return s + string(len-l, ' ');
}
//--------------------------------------------
// Dekorator -  um N Stellen verschoben

class ShiftedText : public SomeText {
    SomeText&amp; st;
    unsigned int offset;
public:
    ShiftedText(SomeText&amp; t, unsigned int o);
    virtual string getText();

    void setOffset(unsigned int o);
};

ShiftedText::ShiftedText(SomeText&amp; t, 
			 unsigned int o)
    : st(t), offset(o)
{
}

string ShiftedText::getText()
{
    string s = st.getText();
    unsigned int o = offset % s.length();
    return s.substr(offset) +  s.substr(0, o);
}

void ShiftedText::setOffset(unsigned int o)
{
    offset = o;
}
//--------------------------------------------
// Text mit aktuellem Datum und Uhrzeit

class DateText : public SomeText {
public:
    DateText();
    virtual string getText();
};

DateText::DateText()
{
}

string DateText::getText()
{
    time_t now = time(0);
    string t = ctime(&amp;now);
    // \n am ende entfernen
    return t.substr(0, t.length()-1); 
}
//--------------------------------------------
// DekorText-Beginn
class DekorText:public SomeText
{
  string links;
  SomeText&amp; mitte;
  string rechts;
public: 
  DekorText(const char*, SomeText&amp;, const char*);
  virtual string getText();
};

DekorText::DekorText(const char* l, SomeText&amp; m, const char* r)
:links(l), mitte(m), rechts(r)
{
}

string DekorText::getText()
{
  return links + mitte.getText() + rechts;
}
//--------------------------------------------
class ReverseText:public SomeText
{
  SomeText&amp; text;
public: 
  ReverseText(SomeText&amp;);
  virtual string getText();
}

ReverseText::ReverseText(SomeText&amp; s)
:text(s)
{
}

string ReverseText::getText()
{
	string t = text.getText();
	reverse(t.begin(), t.end());
	return t;
}

void show(const char* what, SomeText&amp; st, 
	  char delimiter = '\n')
{
	DekorText dt(&quot;&lsqb;&lsqb;&quot; , st , &quot;&rsqb;&rsqb;&quot;);
	cout &lt;&lt; what  &lt;&lt; &quot;:&quot; &lt;&lt; dt.getText() &lt;&lt; delimiter;
}

void show60(ShiftedText&amp; st)
{
    for(int i=0; i &lt; 60; i++) {
	st.setOffset(i);
	_sleep(1000); // Windows: _sleep(1000);
	show(&quot; &quot;, st, '\r');
	cout.flush();
    }
    cout &lt;&lt; &quot;\n&quot;;
}

//--------------------------------------------
int main()
{
    FixedText fix(&quot;Hello World&quot;);
    show(&quot;fix&quot;, fix);

    FilledText filled(fix, 60);
    show(&quot;filled&quot;, filled);

    ShiftedText shifted(filled, 10);
    show(&quot;shifted 10&quot;, shifted);

	ReverseText rt(shifted);
	show(&quot;reverse&quot;, rt);

    DateText dt;
	DekorText ddt(&quot;#&quot;, dt, &quot;#&quot;);
    FilledText filleddate(ddt, 60);
    ShiftedText shifteddate(filleddate, 0);
    show60(shifteddate);
	system(&quot;pause&quot;);
}
</code></pre>
<p>Bitte um Hilfe! Danke!</p>
<p>lg</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/212048/probleme-mit-dem-vs-2008</link><generator>RSS for Node</generator><lastBuildDate>Wed, 14 Oct 2026 14:15:26 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/212048.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 30 Apr 2008 16:14:36 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Probleme mit dem VS 2008 on Wed, 30 Apr 2008 16:14:36 GMT]]></title><description><![CDATA[<p>Hi!</p>
<p>Im Linux Compiler funkt der Code, aber wieso nicht im VS 2008 ?<br />
Wo liegen hier die Probleme ?<br />
Bekomme folgende Fehlermeldungen:</p>
<p>run.cpp(108) : warning C4996: 'ctime': This function or variable may be unsafe. Consider using ctime_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS.<br />
c:\programme\microsoft visual studio 9.0\vc\include\time.inl(88): Siehe Deklaration von 'ctime'<br />
run.cpp(143) : error C2533: 'ReverseText::{ctor}': Ergebnistyp für Konstruktoren nicht zulässig<br />
run.cpp(185) : error C2264: 'ReverseText::ReverseText': Fehler in der Funktionsdefinition oder Funktionsdeklaration, Funktion nicht aufgerufen</p>
<p>Code:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;string&gt;
#include &lt;time.h&gt;
#include &lt;algorithm&gt;

using namespace std;

class SomeText {
public:
    virtual string getText() = 0;
    virtual ~SomeText();
};

SomeText::~SomeText()
{
}

//--------------------------------------------
// Fixer Text

class FixedText : public SomeText {
    string txt;
public:
    FixedText(string s);
    virtual string getText();
};

FixedText::FixedText(string s)
    : txt(s)
{
}

string FixedText::getText()
{
    return txt;
}
//--------------------------------------------
// Dekorator - auf Länge l auffüllen/kürzen

class FilledText : public SomeText {
    SomeText&amp; st;
    int len;
public:
    FilledText(SomeText&amp; t, int l);
    virtual string getText();
};

FilledText::FilledText(SomeText&amp; t, int l)
    : st(t), len(l)
{
}

string FilledText::getText()
{
    string s = st.getText();
    int l = s.length();
    if (l &gt;= len)
	return s.substr(0, len);
    else
	return s + string(len-l, ' ');
}
//--------------------------------------------
// Dekorator -  um N Stellen verschoben

class ShiftedText : public SomeText {
    SomeText&amp; st;
    unsigned int offset;
public:
    ShiftedText(SomeText&amp; t, unsigned int o);
    virtual string getText();

    void setOffset(unsigned int o);
};

ShiftedText::ShiftedText(SomeText&amp; t, 
			 unsigned int o)
    : st(t), offset(o)
{
}

string ShiftedText::getText()
{
    string s = st.getText();
    unsigned int o = offset % s.length();
    return s.substr(offset) +  s.substr(0, o);
}

void ShiftedText::setOffset(unsigned int o)
{
    offset = o;
}
//--------------------------------------------
// Text mit aktuellem Datum und Uhrzeit

class DateText : public SomeText {
public:
    DateText();
    virtual string getText();
};

DateText::DateText()
{
}

string DateText::getText()
{
    time_t now = time(0);
    string t = ctime(&amp;now);
    // \n am ende entfernen
    return t.substr(0, t.length()-1); 
}
//--------------------------------------------
// DekorText-Beginn
class DekorText:public SomeText
{
  string links;
  SomeText&amp; mitte;
  string rechts;
public: 
  DekorText(const char*, SomeText&amp;, const char*);
  virtual string getText();
};

DekorText::DekorText(const char* l, SomeText&amp; m, const char* r)
:links(l), mitte(m), rechts(r)
{
}

string DekorText::getText()
{
  return links + mitte.getText() + rechts;
}
//--------------------------------------------
class ReverseText:public SomeText
{
  SomeText&amp; text;
public: 
  ReverseText(SomeText&amp;);
  virtual string getText();
}

ReverseText::ReverseText(SomeText&amp; s)
:text(s)
{
}

string ReverseText::getText()
{
	string t = text.getText();
	reverse(t.begin(), t.end());
	return t;
}

void show(const char* what, SomeText&amp; st, 
	  char delimiter = '\n')
{
	DekorText dt(&quot;&lsqb;&lsqb;&quot; , st , &quot;&rsqb;&rsqb;&quot;);
	cout &lt;&lt; what  &lt;&lt; &quot;:&quot; &lt;&lt; dt.getText() &lt;&lt; delimiter;
}

void show60(ShiftedText&amp; st)
{
    for(int i=0; i &lt; 60; i++) {
	st.setOffset(i);
	_sleep(1000); // Windows: _sleep(1000);
	show(&quot; &quot;, st, '\r');
	cout.flush();
    }
    cout &lt;&lt; &quot;\n&quot;;
}

//--------------------------------------------
int main()
{
    FixedText fix(&quot;Hello World&quot;);
    show(&quot;fix&quot;, fix);

    FilledText filled(fix, 60);
    show(&quot;filled&quot;, filled);

    ShiftedText shifted(filled, 10);
    show(&quot;shifted 10&quot;, shifted);

	ReverseText rt(shifted);
	show(&quot;reverse&quot;, rt);

    DateText dt;
	DekorText ddt(&quot;#&quot;, dt, &quot;#&quot;);
    FilledText filleddate(ddt, 60);
    ShiftedText shifteddate(filleddate, 0);
    show60(shifteddate);
	system(&quot;pause&quot;);
}
</code></pre>
<p>Bitte um Hilfe! Danke!</p>
<p>lg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1501308</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1501308</guid><dc:creator><![CDATA[Composer]]></dc:creator><pubDate>Wed, 30 Apr 2008 16:14:36 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit dem VS 2008 on Wed, 30 Apr 2008 16:26:13 GMT]]></title><description><![CDATA[<p>hm... die Fehler sind mir ein Rätsel.</p>
<p>ich würde dir einfach mal raten statt Referenzen Zeiger zu verwenden,<br />
auch wenn ich pessimistisch bin, dass das hilft.</p>
<p>MfG DrakoXP</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1501313</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1501313</guid><dc:creator><![CDATA[DrakoXP]]></dc:creator><pubDate>Wed, 30 Apr 2008 16:26:13 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit dem VS 2008 on Wed, 30 Apr 2008 16:24:22 GMT]]></title><description><![CDATA[<p>; am Ende der Klassendefinition von ReverseText vergessen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1501319</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1501319</guid><dc:creator><![CDATA[The-Kenny]]></dc:creator><pubDate>Wed, 30 Apr 2008 16:24:22 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit dem VS 2008 on Wed, 30 Apr 2008 16:24:44 GMT]]></title><description><![CDATA[<p>Nach der Klassendeklaration fehlt in Zeile 140 ein Semikolon, das dürfte die Fehler beheben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1501321</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1501321</guid><dc:creator><![CDATA[DerKuchen]]></dc:creator><pubDate>Wed, 30 Apr 2008 16:24:44 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit dem VS 2008 on Wed, 30 Apr 2008 16:26:39 GMT]]></title><description><![CDATA[<p>Arg, so dumm muss man sein <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /><br />
Danke!</p>
<p>lg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1501323</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1501323</guid><dc:creator><![CDATA[Composer]]></dc:creator><pubDate>Wed, 30 Apr 2008 16:26:39 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit dem VS 2008 on Wed, 30 Apr 2008 16:29:17 GMT]]></title><description><![CDATA[<p>EDIT:zu langsam.. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p>Mich wundert es mehr, dass das mit einem anderen Compiler geht.. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /><br />
Oder hast du den Fehler nachträglich eingebaut?!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1501324</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1501324</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Wed, 30 Apr 2008 16:29:17 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit dem VS 2008 on Wed, 30 Apr 2008 16:54:17 GMT]]></title><description><![CDATA[<p>Wahrscheinlich einen Fehler nachträglich eingebaut <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>lg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1501334</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1501334</guid><dc:creator><![CDATA[Composer]]></dc:creator><pubDate>Wed, 30 Apr 2008 16:54:17 GMT</pubDate></item></channel></rss>