在类中使用数组类型时,我不允许在此处获得C++/CLI数组类型错误.首先,我在Visual Studio 2013中创建了一个Console应用程序,并添加了一个新类"MainClass".然后我添加了一个新方法.问题是我在主cpp文件中的同一个项目中使用了数组,没有没有问题的类,看起来它在这个例子中的使用方式相同.这是MainClass.h:
#pragma once
#using <System.dll>
#using <System.Security.dll>
#include <windows.h>
using namespace System;
using namespace System::Security;
using namespace System::Security::Cryptography;
using namespace System::Security::Cryptography::X509Certificates;
using namespace System::IO;
using namespace System::Collections::Generic;
ref class MainClass
{
public:
MainClass();
bool Verify(array<System::Byte> DataToVerify);
};
Run Code Online (Sandbox Code Playgroud)
MainClass.cpp:
#include "MainClass.h"
#using <System.dll>
#using <System.Security.dll>
#include <windows.h>
using namespace System;
using namespace System::Security;
using namespace System::Security::Cryptography;
using namespace System::Security::Cryptography::X509Certificates;
using namespace System::IO;
using namespace System::Collections::Generic;
MainClass::MainClass()
{
}
bool MainClass::Verify(array<System::Byte> DataToVerify)
{
return false;
}
Run Code Online (Sandbox Code Playgroud)
Han*_*ant 12
bool Verify(array<System::Byte> DataToVerify);
Run Code Online (Sandbox Code Playgroud)
知道何时使用^ hat在C++/CLI中非常重要.如果你没有正确使用它,编译错误并不是很精彩.数组是引用类型,当您将数组作为参数传递时,省略帽子不是可选的.它实际上从不是可选的,托管数组上的堆栈语义没有意义,因为它们不是一次性的.固定:
bool Verify(array<System::Byte>^ DataToVerify);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4184 次 |
| 最近记录: |