<?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[no matching function]]></title><description><![CDATA[<p>Warum geht das nicht?</p>
<pre><code class="language-cpp">#include &lt;string&gt;
#include &lt;vector&gt;

namespace cr
{
    struct detailsCrypt
    {
        std::vector&lt;unsigned short&gt; rnd_numbers_key;
        std::vector&lt;unsigned short&gt; rnd_numbers_2byte;
        std::vector&lt;unsigned short&gt; rnd_numbers_4byte;
    };

    class Crypt
    {
        public:

        std::string create_key() const;
        unsigned short transform_key(const std::string &amp;key) const;
        unsigned short transform_key(const std::string &amp;key, const std::vector&lt;unsigned short&gt; &amp;random_numbers) const;
        unsigned short downsize_key(unsigned short raw_key) const;

        private:
        detailsCrypt cd_data;
    };
}
</code></pre>
<p>Crypt.cpp</p>
<pre><code class="language-cpp">#include &lt;string&gt;
#include &lt;vector&gt;
#include &quot;crypt.hpp&quot;
#include &quot;random.hpp&quot;
using namespace std;
using namespace rd;

namespace cr
{
    string Crypt::create_key() const
    {
        string key;
        for(int i=0;i&lt;6;++i)
        {
            char temp=randomize.rnd(97,122);
            key +=temp;
        }
        return key;
    }

    unsigned short Crypt::transform_key(const string &amp;key) const
    {
        unsigned short amount=0;
        for(int i=0;i&lt;6;++i)
        {
            cd_data.rnd_numbers_key.push_back(randomize.rnd(123,1000)); //&lt;-- ???
            amount +=cd_data.rnd_numbers_key.back() - key[i];
        }
        return amount;
    }

    unsigned short Crypt::transform_key(const string &amp;key, const vector&lt;unsigned short&gt; &amp;random_numbers) const
    {
        unsigned short amount=0;
        for(int i=0;i&lt;6;++i)
        {
            amount +=random_numbers[i] - key[i];
        }
        return amount;
    }

    unsigned short Crypt::downsize_key(unsigned short raw_key) const
    {
        if(raw_key &lt; 12)
        {
            raw_key +=12;
        }

        if((raw_key % 12) == 0)
        {
            raw_key /=12;
        }
        else
        {
            raw_key = ((raw_key - (raw_key % 12)) / 12);
        }

        return raw_key;
    }
}
</code></pre>
<p>Ich schaus schon nä viertel Stunde an, check aber nicht warums nicht funzt.</p>
<p>ERROR:<br />
Compiling: crypt.cpp<br />
crypt.cpp: In member function <code>short unsigned int cr::Crypt::transform_key(const std::string&amp;) const': crypt.cpp:27: error: no matching function for call to</code>std::vector&lt;short unsigned int, std::allocator&lt;short unsigned int&gt; &gt;::push_back(short int) const'<br />
H:/Programme/CodeBlocks/bin/../lib/gcc/mingw32/3.4.4/../../../../include/c++/3.4.4/bits/stl_vector.h:557: note: candidates are: void std::vector&lt;_Tp, _Alloc&gt;::push_back(const _Tp&amp;) [with _Tp = short unsigned int, _Alloc = std::allocator&lt;short unsigned int&gt;] &lt;near match&gt;<br />
Process terminated with status 1 (0 minutes, 0 seconds)</p>
<p>MfG<br />
Stromberg</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/205636/no-matching-function</link><generator>RSS for Node</generator><lastBuildDate>Fri, 09 Oct 2026 03:03:56 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/205636.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 16 Feb 2008 00:02:11 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to no matching function on Sat, 16 Feb 2008 00:02:11 GMT]]></title><description><![CDATA[<p>Warum geht das nicht?</p>
<pre><code class="language-cpp">#include &lt;string&gt;
#include &lt;vector&gt;

namespace cr
{
    struct detailsCrypt
    {
        std::vector&lt;unsigned short&gt; rnd_numbers_key;
        std::vector&lt;unsigned short&gt; rnd_numbers_2byte;
        std::vector&lt;unsigned short&gt; rnd_numbers_4byte;
    };

    class Crypt
    {
        public:

        std::string create_key() const;
        unsigned short transform_key(const std::string &amp;key) const;
        unsigned short transform_key(const std::string &amp;key, const std::vector&lt;unsigned short&gt; &amp;random_numbers) const;
        unsigned short downsize_key(unsigned short raw_key) const;

        private:
        detailsCrypt cd_data;
    };
}
</code></pre>
<p>Crypt.cpp</p>
<pre><code class="language-cpp">#include &lt;string&gt;
#include &lt;vector&gt;
#include &quot;crypt.hpp&quot;
#include &quot;random.hpp&quot;
using namespace std;
using namespace rd;

namespace cr
{
    string Crypt::create_key() const
    {
        string key;
        for(int i=0;i&lt;6;++i)
        {
            char temp=randomize.rnd(97,122);
            key +=temp;
        }
        return key;
    }

    unsigned short Crypt::transform_key(const string &amp;key) const
    {
        unsigned short amount=0;
        for(int i=0;i&lt;6;++i)
        {
            cd_data.rnd_numbers_key.push_back(randomize.rnd(123,1000)); //&lt;-- ???
            amount +=cd_data.rnd_numbers_key.back() - key[i];
        }
        return amount;
    }

    unsigned short Crypt::transform_key(const string &amp;key, const vector&lt;unsigned short&gt; &amp;random_numbers) const
    {
        unsigned short amount=0;
        for(int i=0;i&lt;6;++i)
        {
            amount +=random_numbers[i] - key[i];
        }
        return amount;
    }

    unsigned short Crypt::downsize_key(unsigned short raw_key) const
    {
        if(raw_key &lt; 12)
        {
            raw_key +=12;
        }

        if((raw_key % 12) == 0)
        {
            raw_key /=12;
        }
        else
        {
            raw_key = ((raw_key - (raw_key % 12)) / 12);
        }

        return raw_key;
    }
}
</code></pre>
<p>Ich schaus schon nä viertel Stunde an, check aber nicht warums nicht funzt.</p>
<p>ERROR:<br />
Compiling: crypt.cpp<br />
crypt.cpp: In member function <code>short unsigned int cr::Crypt::transform_key(const std::string&amp;) const': crypt.cpp:27: error: no matching function for call to</code>std::vector&lt;short unsigned int, std::allocator&lt;short unsigned int&gt; &gt;::push_back(short int) const'<br />
H:/Programme/CodeBlocks/bin/../lib/gcc/mingw32/3.4.4/../../../../include/c++/3.4.4/bits/stl_vector.h:557: note: candidates are: void std::vector&lt;_Tp, _Alloc&gt;::push_back(const _Tp&amp;) [with _Tp = short unsigned int, _Alloc = std::allocator&lt;short unsigned int&gt;] &lt;near match&gt;<br />
Process terminated with status 1 (0 minutes, 0 seconds)</p>
<p>MfG<br />
Stromberg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1456954</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1456954</guid><dc:creator><![CDATA[Stromberg]]></dc:creator><pubDate>Sat, 16 Feb 2008 00:02:11 GMT</pubDate></item><item><title><![CDATA[Reply to no matching function on Sat, 16 Feb 2008 00:06:55 GMT]]></title><description><![CDATA[<p>Die Fehlermeldung ist merkwürdig, aber auf jeden Fall versuchst du in der const-Funktion &quot;transform_key&quot;, eine Member-Variable (bzw deren Inhalt) zu verändern.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1456957</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1456957</guid><dc:creator><![CDATA[Badestrand]]></dc:creator><pubDate>Sat, 16 Feb 2008 00:06:55 GMT</pubDate></item><item><title><![CDATA[Reply to no matching function on Sat, 16 Feb 2008 00:25:22 GMT]]></title><description><![CDATA[<p>Aus const-ElemFkt. kannst du nur weitere const-ElemFkt. aufrufen. push_back ist aber nicht const und das sagt dir deine Fehlermeldung auch ...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1456966</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1456966</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Sat, 16 Feb 2008 00:25:22 GMT</pubDate></item></channel></rss>