管理された配列をに変換するための入力引数としてtypenameを持つ単純な関数を実行したいだけです
.h
ファイル:
template <typename TYPE>
static void managed2unmanagedArray( interior_ptr<TYPE> ptrsrc, TYPE *ptrdest, UINT32 size );
.cpp
ファイル:
template <typename TYPE>
void cUtil::managed2unmanagedArray( interior_ptr<TYPE> ptrsrc, TYPE *ptrdest, UINT32 size ) {
for ( UINT32 byte= 0; byte< size; byte++ ) {
*ptrdest = *ptrsrc;
ptrdest++;
ptrsrc++;
}
}
.cppと.hの両方がコンパイルに合格し、コードを使用してテストすると、次のようになります。
array<UINT8>^ testUnitSrc = {1,2,3,4,5,6,7,8};
UINT8 testUnitDest[8] = {0};
cUtil::managed2unmanagedArray<UINT8> (&testUnitSrc[0],&testUnitDest[0],sizeof(testUnitDest));
次のエラーで失敗します:
エラーLNK2020:未解決のトークン(06000004)nsUtil.cUtil :: managed2unmanagedArray