HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2009
0419
oatHSP拡張DLLが作成できない4解決


oat

リンク

2009/4/19(Sun) 19:47:07|NO.24707

VC++ 2008 Express EditionでHSP用の拡張DLLを作ろうと思ったのですが、
どうもエラーが出てしまいます。
HSPから整数を受け取って、その数の要素を持つ配列変数を定義したいのですが、
うまくいきません。

#define EXPORT extern "C" __declspec (dllexport) EXPORT BOOL WINAPI test( HSPEXINFO *hei ) { int p1 = 0; p1 = hei->HspFunc_prm_getdi(0); // パラメータ1:整数 char test[p1] //ここでエラーが出る return 0; }
なにぶんC++にはあまり詳しくないもので・・・
どうすればいいか教えてください。



この記事に返信する


oat

リンク

2009/4/19(Sun) 19:54:40|NO.24708

追記

char[p1]のあとに;が入っていないのは、コピーミスです。
実際には;が入っています。



Mimura

リンク

2009/4/19(Sun) 20:56:15|NO.24710

charのサイズが定まっていないからかと。

もし、そのようなコードを書くのであれば、

char *test; test = new char[p1]; (処理をする) delete [] test;

としてみるとか。



ORZ

リンク

2009/4/20(Mon) 09:05:55|NO.24721

コンパイル時に配列のサイズが判らないとエラーになります。
Mimuraさんの言うように動的にメモリサイズを確保する必要があります。
動的配列とか、そんな感じでググって下さい。



oat

リンク

2009/4/22(Wed) 03:42:15|NO.24757

ありがとうございます。うまくいきました。
これでなんとか拡張DLLが作成できそうです。



ONION software Copyright 1997-2023(c) All rights reserved.