<?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[boost signals und threads möglich?]]></title><description><![CDATA[<p>hallo ich hab mal eine frage<br />
ich hab eine klasse die<br />
so grob aussieht</p>
<pre><code>class A
{
public:
	void run();
	A(void){};
	virtual ~A(void){};
	void operator()(){run();}
        boost::signal&lt;void ()&gt; sig;
};
</code></pre>
<p>und dies klasse die ein neues thread erzeugt</p>
<pre><code>class B
{
public:

	bool tick();
	B(void)
        {
           boost::thread runThread(m_A);
	   runThread.join();
        }
	~B(void){};
private:
	A m_A;

};
</code></pre>
<p>wenn ich das jetzt kompiliere bekomm ich folgende fehlermeldung vom MSVC8.0</p>
<blockquote>
<p>1&gt;c:\boost\include\boost-1_38\boost\signals\detail\signal_base.hpp(150) : error C2248: &quot;boost::noncopyable_::noncopyable::noncopyable&quot;: Kein Zugriff auf private Member, dessen Deklaration in der boost::noncopyable_::noncopyable-Klasse erfolgte.<br />
1&gt; c:\boost\include\boost-1_38\boost\noncopyable.hpp(27): Siehe Deklaration von 'boost::noncopyable_::noncopyable::noncopyable'<br />
1&gt; c:\boost\include\boost-1_38\boost\noncopyable.hpp(22): Siehe Deklaration von 'boost::noncopyable_::noncopyable'<br />
1&gt; Diese Diagnose trat in der vom Compiler generierten Funktion &quot;boost::signals::detail::signal_base::signal_base(const boost::signals::detail::signal_base &amp;)&quot; auf.</p>
</blockquote>
<p>wenn ich jetzt das signal auskommentier kann ich das programm ohne problem kompilieren<br />
mein ziehl war es die komunikation zwischen den beiden klassen wie in qt über das signal slot konzept laufen zulassen<br />
ist es überhaupt mit boost möglich das was ich vorhab?<br />
mfg 123</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/237499/boost-signals-und-threads-möglich</link><generator>RSS for Node</generator><lastBuildDate>Wed, 23 Sep 2026 10:14:38 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/237499.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 29 Mar 2009 19:39:01 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to boost signals und threads möglich? on Sun, 29 Mar 2009 19:39:01 GMT]]></title><description><![CDATA[<p>hallo ich hab mal eine frage<br />
ich hab eine klasse die<br />
so grob aussieht</p>
<pre><code>class A
{
public:
	void run();
	A(void){};
	virtual ~A(void){};
	void operator()(){run();}
        boost::signal&lt;void ()&gt; sig;
};
</code></pre>
<p>und dies klasse die ein neues thread erzeugt</p>
<pre><code>class B
{
public:

	bool tick();
	B(void)
        {
           boost::thread runThread(m_A);
	   runThread.join();
        }
	~B(void){};
private:
	A m_A;

};
</code></pre>
<p>wenn ich das jetzt kompiliere bekomm ich folgende fehlermeldung vom MSVC8.0</p>
<blockquote>
<p>1&gt;c:\boost\include\boost-1_38\boost\signals\detail\signal_base.hpp(150) : error C2248: &quot;boost::noncopyable_::noncopyable::noncopyable&quot;: Kein Zugriff auf private Member, dessen Deklaration in der boost::noncopyable_::noncopyable-Klasse erfolgte.<br />
1&gt; c:\boost\include\boost-1_38\boost\noncopyable.hpp(27): Siehe Deklaration von 'boost::noncopyable_::noncopyable::noncopyable'<br />
1&gt; c:\boost\include\boost-1_38\boost\noncopyable.hpp(22): Siehe Deklaration von 'boost::noncopyable_::noncopyable'<br />
1&gt; Diese Diagnose trat in der vom Compiler generierten Funktion &quot;boost::signals::detail::signal_base::signal_base(const boost::signals::detail::signal_base &amp;)&quot; auf.</p>
</blockquote>
<p>wenn ich jetzt das signal auskommentier kann ich das programm ohne problem kompilieren<br />
mein ziehl war es die komunikation zwischen den beiden klassen wie in qt über das signal slot konzept laufen zulassen<br />
ist es überhaupt mit boost möglich das was ich vorhab?<br />
mfg 123</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1687961</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1687961</guid><dc:creator><![CDATA[123]]></dc:creator><pubDate>Sun, 29 Mar 2009 19:39:01 GMT</pubDate></item><item><title><![CDATA[Reply to boost signals und threads möglich? on Sun, 29 Mar 2009 19:53:36 GMT]]></title><description><![CDATA[<p>Soweit ich mich erinnere, war das Signal-Slot sowas wie Funktionszeiger? Falls ja, schau mal bei boost::function vorbei.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1687965</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1687965</guid><dc:creator><![CDATA[Badestrand]]></dc:creator><pubDate>Sun, 29 Mar 2009 19:53:36 GMT</pubDate></item><item><title><![CDATA[Reply to boost signals und threads möglich? on Sun, 29 Mar 2009 20:32:01 GMT]]></title><description><![CDATA[<p>danke bin dadrauf auch schon gekommen<br />
muss nur noch schaun ob es funktioniert<br />
wie ich es will werd es morgen aber erst machen können</p>
<p>zumindest kann ich jetzt ne exe erzeugen mit function</p>
<p>noch mals danke</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1687975</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1687975</guid><dc:creator><![CDATA[123]]></dc:creator><pubDate>Sun, 29 Mar 2009 20:32:01 GMT</pubDate></item><item><title><![CDATA[Reply to boost signals und threads möglich? on Mon, 30 Mar 2009 15:36:17 GMT]]></title><description><![CDATA[<p>ich hab das mit boost::function noch nicht getestet<br />
aber mich würd interressieren warum es diese fehlermeldung überhaupt gibt wenn ich<br />
bei dieser konstullation in class a ein boost:signal einfüg<br />
kann das mir vll jemande erklären</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1688303</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1688303</guid><dc:creator><![CDATA[123]]></dc:creator><pubDate>Mon, 30 Mar 2009 15:36:17 GMT</pubDate></item><item><title><![CDATA[Reply to boost signals und threads möglich? on Mon, 30 Mar 2009 16:14:48 GMT]]></title><description><![CDATA[<p>Das Objekt, welches man dem Konstruktor von boost::thread übergibt, wird innendrin kopiert. Da die boost::signal-Klasse anscheinend unkopierbar ist (und damit auch Klasse A unkopierbar ist), klappt das nicht.</p>
<p>Siehe auch: <a href="http://www.boost.org/doc/libs/1_38_0/doc/html/thread/thread_management.html#thread.thread_management.thread.callable_constructor" rel="nofollow">http://www.boost.org/doc/libs/1_38_0/doc/html/thread/thread_management.html#thread.thread_management.thread.callable_constructor</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1688325</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1688325</guid><dc:creator><![CDATA[Badestrand]]></dc:creator><pubDate>Mon, 30 Mar 2009 16:14:48 GMT</pubDate></item><item><title><![CDATA[Reply to boost signals und threads möglich? on Mon, 30 Mar 2009 19:28:42 GMT]]></title><description><![CDATA[<p>ok danke für die informationen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /><br />
vll ändern die das ja noch fänd ich schön würde es flexibler machen<br />
aber beschweren darf man sich ja nicht soll doch froh sein was die einem anbieten</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1688412</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1688412</guid><dc:creator><![CDATA[123]]></dc:creator><pubDate>Mon, 30 Mar 2009 19:28:42 GMT</pubDate></item></channel></rss>