<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: Шиблоны</title>
    <link>https://opennet.ru/openforum/vsluhforumID9/7460.html</link>
    <description>Доброго дня all!&lt;br&gt;Пишу небольшой шаблон, но собираться никак не хочет, не могу понять в чем проблема подскажите кому не сложно:&lt;br&gt;&lt;br&gt;template&amp;lt;typename T&amp;gt; &lt;br&gt;void removeSubstrs( basic_string&amp;lt;T&amp;gt;&amp; s, &lt;br&gt;                    const basic_string&amp;lt;T&amp;gt;&amp; p) &#123;&lt;br&gt;    basic_string&amp;lt;T&amp;gt;::size_type n;&lt;br&gt;    n =  p.length( );&lt;br&gt;//    string::size_type n = p.length( );&lt;br&gt;    for ( basic_string&amp;lt;T&amp;gt;::size_type i = s.find(p);  i != basic_string&amp;lt;T&amp;gt;::npos;  i = s.find(p)) s.erase(i, n);&lt;br&gt;&#125;;&lt;br&gt;&lt;br&gt;При сборке получаю ошибки:&lt;br&gt;&lt;br&gt;In file included from ./2.cpp:2:&lt;br&gt;./txtlib_.h: In function &amp;#8216;void removeSubstrs(std::basic_string&amp;lt;_CharT, std::char_traits&amp;lt;_CharT&amp;gt;, std::allocator&amp;lt;_CharT&amp;gt; &amp;gt;&amp;, const std::basic_string&amp;lt;_CharT, std::char_traits&amp;lt;_CharT&amp;gt;, std::allocator&amp;lt;_CharT&amp;gt; &amp;gt;&amp;)&amp;#8217;:&lt;br&gt;./txtlib_.h:65: ошибка: expected &#096;;&apos; before &amp;#8216;n&amp;#8217;&lt;br&gt;./txtlib_.h:66: ошибка: нет декларации &amp;#8216;n&amp;#8217; в этой области видимости&lt;br&gt;./txtlib_.h:68: ошибка: expected &#096;;&apos; before &amp;#8216;i&amp;#8217;&lt;br&gt;./txtlib_.h:68: ошибка: нет декларации &amp;#8216;i&amp;#8217; в этой области</description>

<item>
    <title>Шиблоны (Heretic)</title>
    <link>https://opennet.ru/openforum/vsluhforumID9/7460.html#4</link>
    <pubDate>Mon, 07 Jul 2008 09:37:04 GMT</pubDate>
    <description>&amp;gt;Давно на с++ не кодил, но насколько я помню то &lt;br&gt;&amp;gt;   basic_string&amp;lt;T&amp;gt;::size_type n;&lt;br&gt;&amp;gt;надо декларировать как typename &lt;br&gt;&amp;gt;   basic_string&amp;lt;T&amp;gt;::size_type n;&lt;br&gt;&lt;br&gt;Благодарю всех кто ответил.&lt;br&gt;По поводу:&lt;br&gt;&amp;gt; Рекомендую использовать boost вместо своих велосипедов.&lt;br&gt;&lt;br&gt;Данный пример был взят из этой книги http://www.ozon.ru/context/detail/id/3108549/&lt;br&gt;про boost читал, но еще не пробовал.&lt;br&gt;</description>
</item>

<item>
    <title>Шиблоны (sascha)</title>
    <link>https://opennet.ru/openforum/vsluhforumID9/7460.html#3</link>
    <pubDate>Mon, 07 Jul 2008 09:32:51 GMT</pubDate>
    <description>Давно на с++ не кодил, но насколько я помню то  &lt;br&gt;   basic_string&amp;lt;T&amp;gt;::size_type n;&lt;br&gt;надо декларировать как typename  &lt;br&gt;   basic_string&amp;lt;T&amp;gt;::size_type n;&lt;br&gt;</description>
</item>

<item>
    <title>Шиблоны (phpcoder)</title>
    <link>https://opennet.ru/openforum/vsluhforumID9/7460.html#2</link>
    <pubDate>Mon, 07 Jul 2008 09:30:43 GMT</pubDate>
    <description>P.S. А побеждается, это добавлением ключевого слова typename перед типом:&lt;br&gt;&lt;br&gt;&lt;br&gt;template&amp;lt;typename T&amp;gt;&lt;br&gt;void removeSubstrs( basic_string&amp;lt;T&amp;gt;&amp; s,&lt;br&gt;                    const basic_string&amp;lt;T&amp;gt;&amp; p) &#123;&lt;br&gt;    typename basic_string&amp;lt;T&amp;gt;::size_type n;&lt;br&gt;    n =  p.length( );&lt;br&gt;//    string::size_type n = p.length( );&lt;br&gt;    for (typename basic_string&amp;lt;T&amp;gt;::size_type i = s.find(p);  i != basic_string&amp;lt;T&amp;gt;::npos;  i = s.find(p)) s.erase(i, n);&lt;br&gt;&#125;;&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>Шиблоны (phpcoder)</title>
    <link>https://opennet.ru/openforum/vsluhforumID9/7460.html#1</link>
    <pubDate>Mon, 07 Jul 2008 09:01:07 GMT</pubDate>
    <description>В boost есть ф-ция erase_all() (http://www.boost.org/doc/libs/1_35_0/doc/html/string_algo/usage.html#id1290573), как раз подходящая для вашегос случая, насколько понимаю. Рекомендую использовать boost вместо своих велосипедов.&lt;br&gt;&lt;br&gt;&lt;br&gt;</description>
</item>

</channel>
</rss>
