小编the*_*tor的帖子

call_user_func()期望参数1是有效的回调

我只是在PHP中使用call_user_func函数,并在运行这个简单的代码时遇到此错误:

<?php


class A
{

    public $var;
    private function printHi()
    {

        echo "Hello";   

    }

    public function __construct($string)
    {
        $this->var = $string;   


    }

    public function foo()
    {

        call_user_func($this->var); 

    }

}

$a = new A('printHi');
$a->foo();


?>
Run Code Online (Sandbox Code Playgroud)

我知道如果我在名为printHi的类之外创建一个函数,它工作正常,但我指的是类的print hi并且不确定为什么"this"没有被注册.

php dictionary

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

覆盖继承的抽象类中的抽象方法

好吧基本上我有以下问题:我试图让一个抽象类继承另一个抽象方法,但是我不想在其中任何一个中实现抽象方法,因为第三个类继承了他们:

public abstract class Command
{
      public abstract object execute();
}

public abstract class Binary : Command
{
     public abstract object execute(); //the issue is here
}

public class Multiply : Binary
{
     public override object execute()
     {
           //do stuff
     }
}
Run Code Online (Sandbox Code Playgroud)

我正在尝试将二进制命令与一元命令分开,但不希望/不能实现任何一种执行方法.我想过让Binary覆盖抽象方法(因为它必须),然后只抛出一个未实现的异常事物.如果我覆盖它,那么我必须声明一个体,但如果我把它抽象,那么我就是"隐藏"继承的方法.

有什么想法吗?

c# inheritance abstract-class abstract-methods multi-level

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

JavaScript中JSON.parse()的复杂性是什么?

标题说明了一切.我将要解析一个非常大的JSON字符串,并且好奇这个内置方法的复杂性.

我希望它是θ(n),其中n是字符串中的字符数,因为它可以确定是否存在语法错误.

我试过搜索,但无法想出任何东西.

javascript json time-complexity

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

在JavaScript/TypeScript中实现IEnumerable

我正在尝试yield用JavaScript/TypeScript 实现C#关键字(无关紧要):例如,我想实现代码:

//using System.Collections;  
//using System.Diagnostics; 
public static void Process()
{
    // Display powers of 2 up to the exponent of 8:  
    foreach (int number in Power(2, 8))
    {
        Debug.Write(number.ToString() + " ");
    }
    // Output: 2 4 8 16 32 64 128 256
}


public static IEnumerable Power(int baseNumber, int highExponent)
{
    int result = 1;

    for (int counter = 1; counter <= highExponent; counter++)
    {
        result = result * baseNumber;
        yield return result;
    } …
Run Code Online (Sandbox Code Playgroud)

javascript c# ienumerable typescript

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

何时在绘制UML时使用属性(属性)而不是关联/聚合/组合

好的,所以当我尝试在UML图中显示关系时,我应该向类添加属性与绘制类的关联时,我有点困惑.

例如,假设我有一个DFA类,其中包含10个状态对象,每个状态对象都有一组到DFA中各种状态的路径.我应该将构图线从DFA绘制到State类,还是只在DFA类的属性部分中键入所有10个状态.

基本上我试图弄清楚当A类包含(或由一个或多个B类)组成时,我是否应该在它们之间绘制一条线(聚合,组合,关联依赖等)或者只将一个作为属性放入另一个.

本文试图回答这个问题,但一旦他开始谈论他绘制的图表我就会感到困惑.

attributes uml associations relationship

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

visual studio 2012因断点而崩溃

这才刚刚开始发生.我已经尝试修复无效的Visual Studio.每当我尝试使用断点调试Visual Studio崩溃.我尝试过使用全新的解决方案并重置用户信息devenv.exe /resetuserdata.当"为msvcr110d.dll加载符号"时,它似乎崩溃了.没有断点的调试(这是无用的)似乎工作正常.

我也尝试过以管理员身份运行Visual Studio.

调试C#项目也很好(断点和所有).

c++ visual-studio-2012

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

如何使用Jetbrains Appcode使用Boost标头

我通过MacPorts在我的Macbook上安装了Boost库,并想知道如何配置AppCode以识别标头.我试图右键单击项目-> Add Frameworks and Libraries -> Other... ->浏览到/opt/local/include -> Choose但是这似乎没有将Boost添加到列表中.

有没有人成功地使用Boost与AppCode合作?

c++ boost appcode

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

不能实例化抽象类,但类不是抽象的

我看了这个,最接近我发现的是这个,除了我没有任何前瞻声明.我只在基类中有一个纯虚函数,我在子类中实现如下:

Command.h

#ifndef _COMMAND_H_
#define _COMMAND_H_

#include <string>
#include "Stack.h"
#include "Number.h"

class Command
{
public:
    std::string cmdType;
    Command(void);
    Command (std::string cmdType);
    virtual void executeCommand(Stack<Number> & stack) = 0;
    ~Command (void);
};

#endif   // !defined _COMMAND_H_
Run Code Online (Sandbox Code Playgroud)

Command.cpp

Command::Command(void)
    :cmdType("")
{}

Command::Command(std::string cmdType)
    :cmdType(cmdType)
{}

Command::~Command(void)
{}
Run Code Online (Sandbox Code Playgroud)

Number.h

#ifndef _NUMBER_H_
#define _NUMBER_H_

#include "Command.h"
#include "Stack.h"

class Number : public Command
{
public:
    Number (float num);
    void executeCommand(Stack<Number> & stack);
    float val;
    ~Number (void);
};

#endif   // !defined _NUMBER_H_ …
Run Code Online (Sandbox Code Playgroud)

c++ abstract-class

2
推荐指数
1
解决办法
1002
查看次数

为什么JavaScript Date构造函数在此数字上失败,但作为方法正常工作

老实说,我不确定如何说出这个问题.基本上打开一个JavaScript控制台(节点,您的浏览器或任何地方)并尝试这样做:

Date(564018060878018050) // 'Fri Nov 23 2018 06:22:20 GMT-0800 (Pacific Standard Time)'
new Date(564018060878018050) // <-- Invalid Date
Run Code Online (Sandbox Code Playgroud)

我不知道为什么第一个有效,第二个没有.还有另一种解析方法吗?我正试图远离使用库.

javascript date typescript

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

如何在golang中打印多行exec输出

我正在尝试编写一个简单的golang程序,列出目录中的文件.每当我的shell命令产生多行时,它就会在Go中作为数组注册

例如,当我尝试以下内容时:

import (
    "log"
    "os/exec"
    "fmt"
)
func main (){

    out,err := exec.Command("ls").Output()
    if err != nil {
        log.Fatal(err)
    }
    fmt.Println(out)

}
Run Code Online (Sandbox Code Playgroud)

我最终得到了输出 [101 108 105 109 115 116 97 116 115 46 105 109 108 10 101 110 118 10 115 99 114 97 116 99 104 10 115 114 99 10]

我觉得这是常见的事情,但无法在任何地方找到它.

exec go

-2
推荐指数
1
解决办法
534
查看次数