<?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[Template: Vermeidung partieller Spezialisierung bei char&#x2F;wchar_t]]></title><description><![CDATA[<p>Gibt es eine Möglichkeit hier Coderedundanz zu vermeiden?</p>
<pre><code class="language-cpp">template&lt; typename char_type &gt;
struct S { 
  static const char_type* text;
}

template&lt; typename char_type &gt; 
const char_type* S&lt; char_type &gt;::text= &quot;argh&quot;;

int main() {
   S&lt;char&gt;    s1;
   S&lt;wchar_t&gt; s2;
}
</code></pre>
<p>Problem hierbei ist natürlich, dass bei s2 das L fehlt (L&quot;argh&quot;).<br />
Also müsste man es bspw. so erweitern:</p>
<pre><code>template&lt; typename char_type &gt;
struct S { 
  static const char_type* text;
}

template&lt; typename char_type &gt; 
const char_type* S&lt; char_type &gt;::text= &quot;argh&quot;;

template&lt; &gt;
struct S&lt; wchar_t &gt; { 
  static const wchar_t * text;
}
const char_type* S&lt; wchar_t &gt;::text= L&quot;argh&quot;;

int main() {
   S&lt;char&gt;    s1;
   S&lt;wchar_t&gt; s2;
}
</code></pre>
<p>Und das alles zwecks einem &quot;L&quot;. Gibt es irgendein Möglichkeit (auch gerne mit boost) hier eine whar_t-Spezialisierung zu umgehen?<br />
Das Problem bei mir ist, dass die struct derzeit ~20 char*-Variablen enthält. Und zudem ein paar std::vector&lt; char_type &gt;, die mit boost::list_of initialisiert werden...</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/289152/template-vermeidung-partieller-spezialisierung-bei-char-wchar_t</link><generator>RSS for Node</generator><lastBuildDate>Wed, 19 Aug 2026 08:53:11 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/289152.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 29 Jun 2011 10:26:08 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Template: Vermeidung partieller Spezialisierung bei char&#x2F;wchar_t on Wed, 29 Jun 2011 10:34:40 GMT]]></title><description><![CDATA[<p>Gibt es eine Möglichkeit hier Coderedundanz zu vermeiden?</p>
<pre><code class="language-cpp">template&lt; typename char_type &gt;
struct S { 
  static const char_type* text;
}

template&lt; typename char_type &gt; 
const char_type* S&lt; char_type &gt;::text= &quot;argh&quot;;

int main() {
   S&lt;char&gt;    s1;
   S&lt;wchar_t&gt; s2;
}
</code></pre>
<p>Problem hierbei ist natürlich, dass bei s2 das L fehlt (L&quot;argh&quot;).<br />
Also müsste man es bspw. so erweitern:</p>
<pre><code>template&lt; typename char_type &gt;
struct S { 
  static const char_type* text;
}

template&lt; typename char_type &gt; 
const char_type* S&lt; char_type &gt;::text= &quot;argh&quot;;

template&lt; &gt;
struct S&lt; wchar_t &gt; { 
  static const wchar_t * text;
}
const char_type* S&lt; wchar_t &gt;::text= L&quot;argh&quot;;

int main() {
   S&lt;char&gt;    s1;
   S&lt;wchar_t&gt; s2;
}
</code></pre>
<p>Und das alles zwecks einem &quot;L&quot;. Gibt es irgendein Möglichkeit (auch gerne mit boost) hier eine whar_t-Spezialisierung zu umgehen?<br />
Das Problem bei mir ist, dass die struct derzeit ~20 char*-Variablen enthält. Und zudem ein paar std::vector&lt; char_type &gt;, die mit boost::list_of initialisiert werden...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2085952</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2085952</guid><dc:creator><![CDATA[muffmolch]]></dc:creator><pubDate>Wed, 29 Jun 2011 10:34:40 GMT</pubDate></item><item><title><![CDATA[Reply to Template: Vermeidung partieller Spezialisierung bei char&#x2F;wchar_t on Wed, 29 Jun 2011 10:48:58 GMT]]></title><description><![CDATA[<p>evtl. ungefähr so:</p>
<pre><code class="language-cpp">struct MultiLiteral
{
    /*constexpr*/ MultiLiteral(const char* str, const wchar_t* wstr) : str(str), wstr(wstr) {}
    /*constexpr*/ operator const char*() const { return str; }
    /*constexpr*/ operator const wchar_t*() const { return wstr; }
    const char* str;
    const wchar_t* wstr;
};
#define MULTILITERAL( x ) MultiLiteral( x, L##x )

template&lt; typename char_type &gt;
struct S {
  static const char_type* text;
}

template&lt; typename char_type &gt;
const char_type* S&lt; char_type &gt;::text= MULTILITERAL( &quot;argh&quot; );

int main() {
   S&lt;char&gt;    s1;
   S&lt;wchar_t&gt; s2;
}
</code></pre>
<p>Das müsste eigentlich auch mit list_of funktionieren. Mit selbstdefinierten Literalen könnte man in C++0x auch noch das Makro loswerden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2085957</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2085957</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Wed, 29 Jun 2011 10:48:58 GMT</pubDate></item><item><title><![CDATA[Reply to Template: Vermeidung partieller Spezialisierung bei char&#x2F;wchar_t on Wed, 29 Jun 2011 11:24:54 GMT]]></title><description><![CDATA[<p>danke camper!!! Damit ist mein Tag schon halb gerettet <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>Bei list_of habe ich allerdings noch probleme. Der vector Typ ist anders als ich dachte vom Typ string_type, wobei die strings alle ctors mit char_type besitzen</p>
<pre><code class="language-cpp">template&lt; typename string_type, typename char_type &gt;
struct S2
{ 
   static const std::vector&lt; string_type &gt; vec;
};

template&lt;  typename string_type, typename char_type &gt; 
const std::vector&lt; string_type &gt; S2&lt; string_type, char_type &gt;::vec = boost::assign::list_of( MULTILITERAL(&quot;A&quot;) )( MULTILITERAL(&quot;B&quot;) );

int main() {
  S2&lt; std::string , char    &gt;::vec; 
  S2&lt; std::wstring, wchar_t &gt;::vec; 
}
</code></pre>
<p>--&gt; cannot convert parameter 2 from 'std::allocator&lt;_Ty&gt;::value_type' to 'const std::string &amp;'</p>
<pre><code class="language-cpp">boost::assign::list_of( (const char_type*)MULTILITERAL(&quot;A&quot;) )( (const char_type*)MULTILITERAL(&quot;B&quot;) );
</code></pre>
<p>Funktionierte dann, gibt es hierfür evtl eine elegantere Lösung <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>
]]></description><link>https://www.c-plusplus.net/forum/post/2085969</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2085969</guid><dc:creator><![CDATA[muffmolch]]></dc:creator><pubDate>Wed, 29 Jun 2011 11:24:54 GMT</pubDate></item><item><title><![CDATA[Reply to Template: Vermeidung partieller Spezialisierung bei char&#x2F;wchar_t on Wed, 29 Jun 2011 11:27:17 GMT]]></title><description><![CDATA[<p>muffmolch schrieb:</p>
<blockquote>
<p>Hast du da evtl auch eine schnelle Lösung <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>
</blockquote>
<p>noch mehr Konvertierungsfunktionen.</p>
<pre><code class="language-cpp">struct MultiLiteral
{
    /*constexpr*/ MultiLiteral(const char* str, const wchar_t* wstr) : str(str), wstr(wstr) {}
    /*constexpr*/ operator const char*() const { return str; }
    /*constexpr*/ operator const wchar_t*() const { return wstr; }
    operator std::string() const { return str; }
    operator std::wstring() const { return wstr; }
    const char* str;
    const wchar_t* wstr;
};
</code></pre>
<p>DIe ursprüngliche Version funktioniert für Strings deshalb nicht, weil für diese Konvertierung dann zwei Funktionsaufrufe nötig wären (Konvertierungsoperator+Konvertierungskonstruktor), was nicht zulässig ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2085974</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2085974</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Wed, 29 Jun 2011 11:27:17 GMT</pubDate></item><item><title><![CDATA[Reply to Template: Vermeidung partieller Spezialisierung bei char&#x2F;wchar_t on Wed, 29 Jun 2011 11:27:47 GMT]]></title><description><![CDATA[<p>Ja, aber leider sind es nicht nur wstring und string <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>
]]></description><link>https://www.c-plusplus.net/forum/post/2085975</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2085975</guid><dc:creator><![CDATA[muffmolch]]></dc:creator><pubDate>Wed, 29 Jun 2011 11:27:47 GMT</pubDate></item><item><title><![CDATA[Reply to Template: Vermeidung partieller Spezialisierung bei char&#x2F;wchar_t on Wed, 29 Jun 2011 11:36:13 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">struct MultiLiteral
{
    /*constexpr*/ MultiLiteral(const char* str, const wchar_t* wstr) : str(str), wstr(wstr) {}
    template &lt;typename T&gt;
    operator T() const { return convert((T*)0); }
    template &lt;typename T&gt;
    typename boost::enable_if&lt;boost::is_convertible&lt;const char*, T&gt;, T&gt;::type convert(T*) const { return str; }
    template &lt;typename T&gt;
    typename boost::disable_if&lt;boost::is_convertible&lt;const char*, T&gt;, T&gt;::type convert(T*) const { return wstr; }
    const char* str;
    const wchar_t* wstr;
};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2085976</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2085976</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Wed, 29 Jun 2011 11:36:13 GMT</pubDate></item><item><title><![CDATA[Reply to Template: Vermeidung partieller Spezialisierung bei char&#x2F;wchar_t on Wed, 29 Jun 2011 11:50:21 GMT]]></title><description><![CDATA[<p>Es sind ca 8 unterschieldiche Stringklassen (sind allesamt nicht von mir).</p>
<p>edit: code entfernt</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2085985</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2085985</guid><dc:creator><![CDATA[muffmolch]]></dc:creator><pubDate>Wed, 29 Jun 2011 11:50:21 GMT</pubDate></item><item><title><![CDATA[Reply to Template: Vermeidung partieller Spezialisierung bei char&#x2F;wchar_t on Wed, 29 Jun 2011 11:36:39 GMT]]></title><description><![CDATA[<p>Siehe letzte Änderung.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2085987</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2085987</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Wed, 29 Jun 2011 11:36:39 GMT</pubDate></item><item><title><![CDATA[Reply to Template: Vermeidung partieller Spezialisierung bei char&#x2F;wchar_t on Wed, 29 Jun 2011 11:49:52 GMT]]></title><description><![CDATA[<p>alter Falter! Respekt! Danke noch mal!</p>
<p>ein kleiner Fehler ist noch in der Klasse:</p>
<pre><code class="language-cpp">typename boost::disable_if&lt;boost::is_convertible&lt;const char*, T&gt;, T&gt;::type convert(T*) const { return wstr; }
soll vermutlich heißen:
typename boost::disable_if&lt;boost::is_convertible&lt;const wchar*, T&gt;, T&gt;::type convert(T*) const { return wstr; }
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2085990</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2085990</guid><dc:creator><![CDATA[muffmolch]]></dc:creator><pubDate>Wed, 29 Jun 2011 11:49:52 GMT</pubDate></item><item><title><![CDATA[Reply to Template: Vermeidung partieller Spezialisierung bei char&#x2F;wchar_t on Wed, 29 Jun 2011 11:55:47 GMT]]></title><description><![CDATA[<p>muffmolch schrieb:</p>
<blockquote>
<p>ein kleiner Fehler ist noch in der Klasse:</p>
<pre><code class="language-cpp">typename boost::disable_if&lt;boost::is_convertible&lt;const char*, T&gt;, T&gt;::type convert(T*) const { return wstr; }
soll vermutlich heißen:
typename boost::disable_if&lt;boost::is_convertible&lt;const wchar*, T&gt;, T&gt;::type convert(T*) const { return wstr; }
</code></pre>
</blockquote>
<p>Das ist schon so beabsichtigt. Es wird absichtlich nur auf Konvertierbarkeit in char* geprüft. Auf diese Weise vermeiden wir Probleme falls ein String zufällig mit beiden initialisiert werden kann - in diesem Falle wird char bevorzugt. Beachte, dass es einmal <strong>enable</strong>_if, und dann <strong>disable</strong>_if heißt. Man kann das nat. auch anders machen, z.B. im Falle von Mehrdeutigkeit ganz bewusst einen Fehler produzieren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2086006</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2086006</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Wed, 29 Jun 2011 11:55:47 GMT</pubDate></item><item><title><![CDATA[Reply to Template: Vermeidung partieller Spezialisierung bei char&#x2F;wchar_t on Wed, 29 Jun 2011 12:09:49 GMT]]></title><description><![CDATA[<p>Wenn Geschwindigkeit gefragt ist, kann man das noch ein bisschen verbessern, sofern die Strings alle auch mit Iteratoren initialisiert werden können):</p>
<pre><code class="language-cpp">struct MultiLiteral
{
    template &lt;std::size_t N&gt;
    /*constexpr*/ MultiLiteral(const char (&amp;str)[N], const wchar_t (&amp;wstr)[N]) : str(str), wstr(wstr), n(N) {}
    template &lt;typename T&gt;
    /*constexpr*/ operator T() const { return convert((T*)0); }
    template &lt;typename T&gt;
    /*constexpr*/ typename boost::enable_if&lt;boost::is_convertible&lt;const char*, T&gt;, T&gt;::type convert(T*) const { return str(str, str + n); }
    template &lt;typename T&gt;
    /*constexpr*/ typename boost::disable_if&lt;boost::is_convertible&lt;const char*, T&gt;, T&gt;::type convert(T*) const { return wstr(wstr, wstr + n); }
    const char* str;
    const wchar_t* wstr;
    std::size_t n;
};
</code></pre>
<p>So kann sich die Stringklasse den Aufruf von (w)strlen sparen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2086012</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2086012</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Wed, 29 Jun 2011 12:09:49 GMT</pubDate></item><item><title><![CDATA[Reply to Template: Vermeidung partieller Spezialisierung bei char&#x2F;wchar_t on Wed, 29 Jun 2011 12:34:02 GMT]]></title><description><![CDATA[<p>ok! werd ich gleich mal testen. Momentan stolpere ich darüber, dass ich bei boost::list_of ambiguous calls erhalte...</p>
<pre><code class="language-cpp">struct A {
	A( const char * ) {}
	A( const wchar_t * ) {}

	A&amp; operator=( A &amp; )		 { return *this; }
	A&amp; operator=( const char* t    ) { return *this; }
	A&amp; operator=( const wchar_t* t ) { return *this; }
};

int main( int, char * )
{
  A a = ML(&quot;ZESZ&quot;);  //funktioniert
  vector&lt; A &gt; ddd1 = boost::assign::list_of(ML(&quot;A&quot;))(ML(&quot;B&quot;)); //ambiguous
            //main.cpp: could be 'A &amp;A::operator =(const wchar_t *)'
            //main.cpp: or       'A &amp;A::operator =(const char *)'
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2086030</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2086030</guid><dc:creator><![CDATA[muffmolch]]></dc:creator><pubDate>Wed, 29 Jun 2011 12:34:02 GMT</pubDate></item><item><title><![CDATA[Reply to Template: Vermeidung partieller Spezialisierung bei char&#x2F;wchar_t on Wed, 29 Jun 2011 13:02:10 GMT]]></title><description><![CDATA[<pre><code>A&amp; operator=( [b][i]const[/i][/b] A &amp; )
</code></pre>
<p>Ach ja, im Falle von Mehrdeutigkeit (char/wchar_t) hilft das enable_if doch nicht weiter - denn der Compiler weiß trotzdem nicht, welchen Konvertierungsoperator er benutzen muss.<br />
In diesem Falle bleibt wahrscheinlich doch nur, einen extra Konvertierungsoperator für jede einzelne Stringklasse zu schreiben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2086046</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2086046</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Wed, 29 Jun 2011 13:02:10 GMT</pubDate></item><item><title><![CDATA[Reply to Template: Vermeidung partieller Spezialisierung bei char&#x2F;wchar_t on Wed, 29 Jun 2011 13:06:08 GMT]]></title><description><![CDATA[<p>genau... hab ich auch grad festgestellt. const A&amp; ist natürlich im Code so (war ja nur ein dummy Bsp).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2086067</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2086067</guid><dc:creator><![CDATA[muffmolch]]></dc:creator><pubDate>Wed, 29 Jun 2011 13:06:08 GMT</pubDate></item><item><title><![CDATA[Reply to Template: Vermeidung partieller Spezialisierung bei char&#x2F;wchar_t on Wed, 29 Jun 2011 13:34:35 GMT]]></title><description><![CDATA[<p>Wenn die Stringklassen alle Templateklassen sind (und ansonsten nicht noch zusätzliche Konvertierungen haben, die stören könnten), könnte man den Konvertierungsoperator entsprechend einschränken:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;boost/type_traits.hpp&gt;
#include &lt;boost/utility.hpp&gt;
#include &lt;boost/assign.hpp&gt;

struct MultiLiteral
{
    constexpr MultiLiteral(const char* str, const wchar_t* wstr) : str(str), wstr(wstr) {}
    template &lt;template &lt;typename...&gt; class String, typename... Args&gt;
    operator String&lt;Args...&gt;() const { return convert((String&lt;Args...&gt;*)0); }
    template &lt;typename T&gt;
    typename boost::enable_if&lt;boost::is_convertible&lt;const char*, T&gt;, T&gt;::type convert(T*) const { return str; }
    template &lt;typename T&gt;
    typename boost::disable_if&lt;boost::is_convertible&lt;const char*, T&gt;, T&gt;::type convert(T*) const { return wstr; }
    const char* str;
    const wchar_t* wstr;
};
#define ML( x ) MultiLiteral( x, L##x )

template &lt;typename T&gt;
struct A {
    A( const char * ) {}
    A( const wchar_t * ) {}

    A&amp; operator=( const A &amp; )        { return *this; }
    A&amp; operator=( const char* t    ) { return *this; }
    A&amp; operator=( const wchar_t* t ) { return *this; }
};

#include &lt;vector&gt;
using namespace std;

int main()
{
  A&lt;int&gt; a = ML(&quot;ZESZ&quot;);
  A&lt;int&gt; b( ML(&quot;ZESZ&quot;) );
  b = ML(&quot;ZESZ&quot;);
  vector&lt; A&lt;int&gt; &gt; ddd1 = boost::assign::list_of(ML(&quot;A&quot;))(ML(&quot;B&quot;)); //ambiguous
            //main.cpp: could be 'A &amp;A::operator =(const wchar_t *)'
            //main.cpp: or       'A &amp;A::operator =(const char *)'
}
</code></pre>
<p>Läuft mit g++ 4.5.2.<br />
Wenn der Compiler noch keine variadic Templates kennt, müsste man wiederum die Parameter konkreter spezifizieren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2086092</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2086092</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Wed, 29 Jun 2011 13:34:35 GMT</pubDate></item><item><title><![CDATA[Reply to Template: Vermeidung partieller Spezialisierung bei char&#x2F;wchar_t on Wed, 29 Jun 2011 14:00:14 GMT]]></title><description><![CDATA[<p>nein, das schluckt mein Compiler nicht (VS2008).</p>
<p>Und bei der anderen Klasse erhalte ich einen Linkerfehler bei:</p>
<pre><code class="language-cpp">string s = ML(&quot;test&quot;); 
//unresolved external symbol &quot;public: __thiscall CMultiliteral::operator&lt;char const *&gt; char const *(void)const &quot; 
//unresolved external symbol &quot;public: __thiscall CMultiliteral::operator&lt;wchar_t const *&gt; wchar_t const *(void)const &quot; 

string s= (const char*)ML(&quot;test&quot;); //-funktioniert
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2086106</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2086106</guid><dc:creator><![CDATA[muffmolch]]></dc:creator><pubDate>Wed, 29 Jun 2011 14:00:14 GMT</pubDate></item><item><title><![CDATA[Reply to Template: Vermeidung partieller Spezialisierung bei char&#x2F;wchar_t on Wed, 29 Jun 2011 17:47:41 GMT]]></title><description><![CDATA[<p>Vollständigen Code bitte.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2086221</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2086221</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Wed, 29 Jun 2011 17:47:41 GMT</pubDate></item><item><title><![CDATA[Reply to Template: Vermeidung partieller Spezialisierung bei char&#x2F;wchar_t on Thu, 30 Jun 2011 09:46:13 GMT]]></title><description><![CDATA[<p>Mit der Klasse aus deinem Beitrag vom 13:28:22 29.06.2011. Allerdings funktioniert es momentan.. Der Grund für den Linkerfehler ist mir nicht so ersichtlich. Wird wohl einmal mehr ein VS Problem gewesen sein, denn nach einem Neustart des Rechners wurde derselbe Code anstandslos übersetzt.. In dieseem Momenten wünsche ich mit den gcc oder icc zurück!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2086482</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2086482</guid><dc:creator><![CDATA[muffmolch]]></dc:creator><pubDate>Thu, 30 Jun 2011 09:46:13 GMT</pubDate></item></channel></rss>