cli::interior_ptr<System::Char> ptr;
methodA(ptr);void methodA(cli::interior_ptr<System::Char> parameter)
{
    ++parameter;
}由于传值的缘故
methodA方法递增parameter以后ptr是不会有变化的
我想把参数改为指针的指针
请教一下该怎么写

解决方案 »

  1.   

    用引用试试
    void methodA(cli::interior_ptr<System::Char> &parameter)
    {
        ++parameter;
    }
      

  2.   

    void methodA(cli::interior_ptr<System::Char>% parameter)
    这个值类型的引用也试过了,一样不行
      

  3.   

    cli::interior_ptr<System::Char> ptr;
    methodA(&ptr);void methodA(cli::interior_ptr<System::Char> **parameter)
    {
        ++parameter;
    }对VC++.net 2005不熟,可以试试!
      

  4.   

    void methodA(cli::interior_ptr<System::Char> *parameter)
    这样通不过编译
    我用的是pure
      

  5.   

    我在使用
    cli::interior_ptr<System::Char>的时候是递增这个值
    如果是引用方式传的话我什么都不用管,但是现在我不得不加1个System::Int32%参数,
    返回以后
    这个值要加上这个参数,否则不能得到当前位置
    我现在找到办法解决这个问题,但是我还是很想知道,cli到底能不能用指针的指针
    谢谢
      

  6.   

    System::Char 不是引用
    直接void methodA( System::Char& c )
    {
    c++;
    }   System::Char p = 'a';
    methodA( p);
        return 0;
      

  7.   

    我的方法接受1个char指针的指针,这个指针指向string中的某1个字符,读完以后向后移使被指的指针指向下1个char
    所以我的参数应该是这样的
    void methodA(char** c)但是在cli好象写不出来
      

  8.   

    cli 的字符串和c++原生字符串不能一一对应
    c++ 的字符串是指向一个字符数组的,cli 字符串是一个类,
    不能直接使用c++原来的方式
      

  9.   

    你是什么string?System::String
    or
    std::string
    ???如果是前者可以用
    Marshal::StringToStringToHGlobalAuto(string s);
    转为c++原生字符串
    再按c++标准方式处理
      

  10.   

    我有办法解决,我现在就看cli有没有指针的指针,有的话该怎么写
      

  11.   

    我用的是pure或者safe不用混合代码