gpt4 book ai didi

windows-8 - 用.cpp文件中的实现声明C++/CX WinRT属性的语法是什么?

转载 作者:行者123 更新时间:2023-12-04 04:57:42 25 4
gpt4 key购买 nike

我有一个这样的课:

public ref class Test
{
public:
property int MyProperty;
};

这行得通。现在,我想将MyProperty的实现移至CPP文件。执行此操作时,我得到该属性已定义的编译器错误:
int Test::MyProperty::get() { return 0; }

正确的语法是什么?

最佳答案

在标题中,将声明更改为:

public ref class Test
{
public:
property int MyProperty
{
int get();
void set( int );
}
private:
int m_myProperty;
};

然后,在cpp代码文件中编写如下的定义:
int Test::MyProperty::get()
{
return m_myProperty;
}
void Test::MyProperty::set( int i )
{
m_myProperty = i;
}

您看到错误的原因是您声明了一个琐碎的属性,编译器在其中为您生成了一个实现。但是,然后您也尝试显式提供实现。另请: http://msdn.microsoft.com/en-us/library/windows/apps/hh755807(v=vs.110).aspx

在线上的大多数示例仅在类定义中直接显示实现。

关于windows-8 - 用.cpp文件中的实现声明C++/CX WinRT属性的语法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10485655/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com