使用this指针在类中引用构造函数

时间:2014-04-08 13:16:59

标签: constructor c++-cli this

#include "stdafx.h"
ref class station{
public:
    station(){
    };
    void wrapper_1()
    {
        this->somefunct(); /*happy*/
    };
    void wrapper_2()
    {
        this->station(); /*not happy*/
    };
    void somefunct(){
        System::Console::WriteLine(L"abcde");
    };
};

int main(array<System::String^>^ args)
{
    station^ temp_1 = gcnew station();
    temp_1->wrapper_1();
    System::Console::ReadLine();
};

我想使用 this 指针在我的 station 类中调用我的构造函数,它不喜欢这样并抛出以下错误:

  

错误C2273:&#39;功能式演员&#39; :非法作为&#39; - &gt;&#39;的右侧   操作

当使用指针 this 指向函数时,有人可以向我解释构造函数与其他函数的区别。我不想使用station::station();

轻松解决问题

我对@ hans-passant的意思的例子

#include "stdafx.h"
ref class station{
public:
    station(int par_1,int par_2)
    {
        int sum = par_1 + par_2;
        System::Console::WriteLine(System::Convert::ToString(sum));
//default value output 13
    };
    station(){
        int pass_1 = 5;
        int pass_2 = 8;
        station(pass_1,pass_2); /* But why couldn't I use this->station(pass_1,pass_2);*/
    };
};
int main(array<System::String^>^ args)
{
    station^ obj = gcnew station();
    System::Console::ReadLine();
};

0 个答案:

没有答案