Visual Studio

时间:2017-03-13 20:01:38

标签: visual-studio-2015 c++-cli

我可以想象这个问题已经被问到了,但实际上我找不到任何合适的解决方案,所以请原谅这是一个多余的问题。

在Main中,我试图将参数传递给位于不同项目中的类的构造函数。我正在使用Visual Studio 2015,C ++ / CLI来获取一些代码。这是Picture of the error message

以下是代码的简化视图:

注意:SQLAuthenticationInfo扩展AuthenticationInfo

主要

int wmain(int argc, wchar_t* argv[]){
    wchar_t* name = L"cname"
    AuthenticationInfo^ source = gcnew SQLAuthenticationInfo(gcnew System::String(name));
    AuthenticationInfo^ destination = gcnew SQLAuthenticationInfo(gcnew System::String(name));
    boolean silent = false;
    // call constructor
    SQLPrecheck precheck(source, destination, silent); //before building project, source is underlined
    // message says: "no suitable user-defined conversion from "Parent ^" to "PreCheck" exists
}

SQLPrecheck.h

public class SQLPrecheck 
{
public:
    SQLPrecheck(AuthenticationInfo^ source, AuthenticationInfo^ destination, bool silent);
};

SQLPrecheck.cpp

#include "SQLPrecheck.h"

   SQLPreCheck::SQLPrecheck(AuthenticationInfo^ source, AuthenticationInfo^ destination, bool silent){

    }

其他信息:

我不知道这是否相关,但在main中执行SQLPrecheck()[CTRL + SHIFT + SPACE]会提示3个选项,但它们都不是我的实现,而在sqlprecheck.cpp文件中,第三个选项是我的自定义构造函数。 Screenshot

由于我不完全理解的原因,我不需要在主文件中#include sqlprecheck.h。添加它会产生重新定义错误。 这是引用引起的问题吗?

注意: 屏幕截图有不同的类名,因为它们来自我的实际项目,而不是我的简化示例。

0 个答案:

没有答案