C2664エラーの件いろりろお世話になりました。
昨日朝からこの問題に取り組み、いろいろインターネットで調べてたので
いささか疲れが出てました。 ^^;
一応グローバルでは OKだったのですが、View でデータを表示できません。
counter が一応マルチスレッドの一部分なので、動作をじかにwindowsの画面で
見たいのですが、静的関数?にするには、下記のプログラムのどこを変えれば
いいのでしょうか。
宜しくお願い致します。
Viewのクラス内では、無理なのでしょうか?
#include <sys/types.h>
#include <process.h>
--- *.h -----
class CN_ThreadView : public CScrollView
{
public:
unsigned __stdcall counter(void *arg);
以下略
}
--- prg -----
unsigned __stdcall CN_ThreadView::counter(void *arg)
{
return(0);
}
void CN_ThreadView::OnAthread()
{
int thread_id1;
unsigned dummy;
thread_id1=_beginthreadex(NULL,0,counter,(void *)1,0,&dummy);
}
\*****.cpp(171) : error C2664: '_beginthreadex' : 3 番目の引数を 'unsigned int
(void *)' から
'unsigned int (__stdcall *)(void *)' に変換できません。 (新しい機能 ; ヘルプを参
照)
スコープ内でこの名前を持つ関数でターゲット型に一致するものはありません。
くすん…俺の書き込み、見られてねぇ…?
>> --- *.h -----
>> class CN_ThreadView : public CScrollView
>> {
>> public:
>> unsigned __stdcall counter(void *arg);
>> 以下略
>> }
>
> static unsigned __stdcall counter(void *arg);
> ってするだけです。
自己レス
どうも
もうちょっと自分で考えてみます
でもよかったら宜しくお願いします
あれかぶりました
シャノンさんどうも有難うございます
しかしながら Viewのクラスでは、実行できないです
static unsigned __stdcall CN_ThreadView::counter(void *arg)
{
--------------------構成: n_Thread - Win32 Debug--------------------
コンパイル中...
n_ThreadView.cpp
D:\VisualC\Thread\n_Thread\n_Thread\n_ThreadView.cpp(144) : error
C2724: 'counter' : 'static' をメンバ関数の定義に使ってはいけません。
cl.exe の実行エラー
n_Thread.exe - エラー 1、警告 0
のようでした
どうもお手数をお掛けします
> しかしながら Viewのクラスでは、実行できないです
> static unsigned __stdcall CN_ThreadView::counter(void *arg)
> {
だ~か~ら~,慌てず騒がずに,シャノンさんの書き込みをよ~く見てちょうだい.
staticキーワードはどこで使われてますか?