C2664エラーの続き:静的関数の件 – プログラミング – Home

C2664エラーの続き:静的関数の件
 
通知
すべてクリア

C2664エラーの続き:静的関数の件


たろう
 たろう
(@たろう)
ゲスト
結合: 25年前
投稿: 51
Topic starter  

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 *)' に変換できません。 (新しい機能 ; ヘルプを参
照)
スコープ内でこの名前を持つ関数でターゲット型に一致するものはありません。


引用解決済
トピックタグ
aetos
(@aetos)
Noble Member
結合: 6年前
投稿: 1480
 

くすん…俺の書き込み、見られてねぇ…?

>> --- *.h -----
>> class CN_ThreadView : public CScrollView
>> {
>> public:
>> unsigned __stdcall counter(void *arg);
>> 以下略
>> }
>
> static unsigned __stdcall counter(void *arg);
> ってするだけです。


返信引用
たろう
 たろう
(@たろう)
ゲスト
結合: 25年前
投稿: 51
Topic starter  

自己レス

どうも
もうちょっと自分で考えてみます

でもよかったら宜しくお願いします


返信引用
たろう
 たろう
(@たろう)
ゲスト
結合: 25年前
投稿: 51
Topic starter  

あれかぶりました
シャノンさんどうも有難うございます

しかしながら 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

のようでした
どうもお手数をお掛けします


返信引用
monkey
 monkey
(@monkey)
ゲスト
結合: 21年前
投稿: 70
 

> しかしながら Viewのクラスでは、実行できないです
> static unsigned __stdcall CN_ThreadView::counter(void *arg)
> {

だ~か~ら~,慌てず騒がずに,シャノンさんの書き込みをよ~く見てちょうだい.
staticキーワードはどこで使われてますか?


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました