私は、オープンソースのCrytoLib C++プロジェクトで使用されているいくつかのメソッドを使用してC#インターフェイスを作成することが任されています。私は、LIBファイルの管理されたラッパーを作成しようとしています...しかし、私はいくつかのエラーが既に発生していると私は間違って何をしているのか分かりませんが、この時点ではかなり簡単です。 C++ヘッダーファイルのエラー
私のヘッダファイル:// CryptoLibWrapper.h
#pragma once
using namespace System;
namespace CryptoLibWrapper {
public ref class DefaultDecryptorWithMAC
{
public:
BOOL Decrypt(BYTE const* pEncrypted, UINT uLength, BYTE** ppBuffer, DWORD* pdwLength);
};
}
私は取得していますエラー...
エラーC2061:構文エラー:識別子 'BYTE'
エラーC2146:構文エラー:不足しています';'識別子 'Decrypt'の前に
エラーC4430:型指定子がない - 想定されています。注:C++はdefault-intをサポートしていません
エラーC4430:型指定子がない - 想定されています。注:C++は、私はすべてのC++を行ってもそのこれは簡単ですし、私は脳が死んでいるのです期待して、限られたてきたので、それがしばらくされているデフォルト-INT
をサポートしていません。
もう一度おねがいします!
EDIT:注意してください...エラーの全てを「BOOL復号化...」ラインである
これは 'ref'ですか、使用しているコンパイラの拡張ですか?それは間違いなく標準C++ではないからです。また、BYTE、UINTなどはほとんどあなたが言及していないヘッダーで定義されています(標準言語の一部ではありません)。あるいは、そのヘッダーを含めるのを忘れてしまったということでしょうか?私が気づくもう一つの事柄:名前空間レベルの 'public'は確かにそこに属していません。名前空間はアクセス仕様をサポートしていません。 – celtschk
@celtschk C++/cli –
C4430には説明文がありません。これはコンパイラがタイプなしの変数名であることがわかったことを意味します。たとえば、 'BOOL'が定義されていないと、2つの識別子の宣言が見えて、どちらの型も追加されていないと考えられます。 K&R Cでは、型を持たずに変数を定義することができたので(int型を想定しています)、エラーメッセージはあなたがしようとしているものとみなします。 –