标签: non-static

如何将非静态成员函数作为回调传递?

 
io_iterator_t enumerator;
kern_return_t   result;
result = IOServiceAddMatchingNotification(
             mNotifyPort,
             kIOMatchedNotification,
             IOServiceMatching( "IOFireWireLocalNode" ),
             serviceMatchingCallback, 
             (void *)0x1234,
             & enumerator );

serviceMatchingCallback((void *)0x1234, enumerator);

如果我将serviceMatchinCallback声明为静态然后它可以工作,但我不希望它是静态的.有没有办法将它传递给非静态回调函数?

谢谢

c++ function callback member non-static

7
推荐指数
2
解决办法
7703
查看次数

什么是非静态初始化块的替代方案?

我的项目有一些喜欢非静态初始化块的开发人员.

有什么替代方案,这种替代方案的缺点是什么?我猜:在构造函数中初始化值

我们为什么要使用非初始化块?据我所知,"初始化块"用于在实例化类时设置值.那么构造函数是不够的?

public class BlockTest {
    String test = new String();

    //Non-static initialization block
    {
        test = "testString";
    }
}
Run Code Online (Sandbox Code Playgroud)

这个区块让我感到困惑,导致可读性降低.感谢您的答复!

java constructor initialization block non-static

7
推荐指数
2
解决办法
4117
查看次数

从typescript中的非静态函数访问静态成员

我试图从类中的非静态函数访问静态成员,我得到一个错误说

无法从实例变量访问静态成员

这就是我的代码看起来的样子 -

class myClass {
  public static testStatic: number = 0;
  public increment(): void {
    this.testStatic++;
  }
}
Run Code Online (Sandbox Code Playgroud)

根据我对静态成员/方法的理解,我们不应该访问静态函数中的非静态成员,反之亦然.静态成员已经创建并且有效,那么为什么我不能从我的非静态方法访问?

static-methods static-members non-static typescript

7
推荐指数
1
解决办法
7009
查看次数

THREAD ERROR:无效使用非静态成员函数

我试图理解C++中的线程,但我不知道如何解决这个问题.

我想调用两个线程来运行名为"createS"的函数,但是我得到了这个错误:

错误:无效使用非静态成员函数

我已经阅读了有关此主题的其他问题,但我真的不明白如何使我的代码有效.

有人可以解释一下我做错了什么并尝试帮助我找到解决方案吗?

test_class.cpp

void test_class::generateS(){

     map1=new multimap<double,vector<int>>;
     map2=new multimap<double,vector<int>>;

     thread thread_1( createS, 0, nCells/2, map1 ); 
     thread thread_2( createS, nCells/2, nCells, map2);

     thread_1.join();
     thread_2.join();
}

void test_class::createS(int startP, int endP, Costs *mapPointer){
     //i do some stuff
}
Run Code Online (Sandbox Code Playgroud)

test_class.h

void createS(int start, int end, Costs *mapPointer);
void generateS();
Run Code Online (Sandbox Code Playgroud)

c++ multithreading compiler-errors non-static

7
推荐指数
1
解决办法
1万
查看次数

什么是非静态成员函数?

我被告知我不能在类函数中使用'this'关键字.我来自c#,我已经习惯了这个工作,但是编译器告诉我它只能在非静态成员函数中使用.

D3DXVECTOR3 position;

void Position(D3DXVECTOR3 position)
{
    this.position = position;
}
Run Code Online (Sandbox Code Playgroud)

c++ methods member non-static

6
推荐指数
2
解决办法
2万
查看次数

如何使用PowerMock模拟非静态方法

我试图模拟我的测试方法的内部方法调用

我的班级看起来像这样

public class App {
public Student getStudent() {
    MyDAO dao = new MyDAO();
    return dao.getStudentDetails();//getStudentDetails is a public 
                                  //non-static method in the DAO class
}
Run Code Online (Sandbox Code Playgroud)

当我为方法getStudent()编写junit时,PowerMock中是否有一种方法可以模拟该行

dao.getStudentDetails();
Run Code Online (Sandbox Code Playgroud)

或者让app类在junit执行期间使用mock dao对象而不是连接到DB的实际dao调用?

non-static powermock

6
推荐指数
2
解决办法
9809
查看次数

如何从main方法调用非静态方法?

例如,我正在尝试做这样的事情

public class Test {

    public static void main(String args[]) {

        int[] arr = new int[5];

        arrPrint(arr);
    }

    public void arrPrint(int[] arr) {

        for (int i = 0; i < arr.length; i++)
            System.out.println(arr[i]);

    }
}
Run Code Online (Sandbox Code Playgroud)

我收到一个错误,告诉我无法从静态环境中引用非静态变量.所以,如果这是真的,我怎么能在主要内部使用非静态方法?

java static non-static

6
推荐指数
1
解决办法
4万
查看次数

PHP在非静态方法上调用self

为什么在这个例子中对非satic方法的"自我"调用有效?

class A{

    protected function aNonStaticMethod(){
        return __class__;
    }

    public function aEcho(){
        echo self::aNonStaticMethod();
    }
}
Run Code Online (Sandbox Code Playgroud)

谢谢你的解释.

php methods class self non-static

6
推荐指数
2
解决办法
4277
查看次数

C++非静态成员引用必须与特定对象相关

Vector2D tankPos = Tank_b017191c::GetTankPosition();
Run Code Online (Sandbox Code Playgroud)

我试图从一个不同的类调用一个函数,但我收到此错误:

47智能感知:非静态成员引用必须相对于特定对象e:\ Repos\GameAI\GameAI\PathFinder_b017191c.cpp 113 21 GameAI

我在我的头文件中包含了Tank_b017191c.h,但没有达到很远的程度.

c++ non-static

6
推荐指数
1
解决办法
3万
查看次数

实例与静态方法。静态或动态调用

PHP中有实例方法和静态方法(就这两种类型)?那么我们可以静态或非静态地调用其中任何一个(名称是“动态”吗?)?

所以我们可以:

  1. 静态调用实例方法;
  2. 非静态调用实例方法;
  3. 静态调用静态方法;
  4. 非静态调用静态方法(四个都正确吗?)

这四个的代码看起来怎么样?有没有什么好的网站可以解释这个?我目前正在阅读以下网址:

http://php.net/manual/en/language.oop5.basic.php

...我不明白这一点:

“$this 是对调用对象的引用(通常是该方法所属的对象,但也可能是另一个对象,如果该方法是从辅助对象的上下文中静态调用的)。”

代码如何从辅助对象静态调用方法?我的意思是,静态所有调用与非静态调用,这是什么?

php oop methods static non-static

5
推荐指数
1
解决办法
1163
查看次数