标签: instance

错误C2440:'初始化':无法从'classname*'转换为'classname'

我有一个名为extBlock的类.

然后我用这个做一个类的实例

extBlock mainBlock = new extBlock(1, 1024);
Run Code Online (Sandbox Code Playgroud)

我收到此错误:错误C2440:'初始化':无法从'extBlock*'转换为'extBlock'

任何人都可以帮助我解决为什么我收到此错误.

我在网上看过用指针声明它的例子

extBlock *mainBlock = new extBlock(1, 1024);
Run Code Online (Sandbox Code Playgroud)

但是,如果我这样做,它不会让我调用mainBlock的功能

c++ class instance

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

ArrayIndexOutofBoundsException错误但不知道原因

所以我正在为"MiniString"创建一个类,它只是对象MiniString的实例方法,每个MiniString都有一个char []实例变量.在测试我的方法时,我无法找到我的substring()方法出错的地方.有两个子字符串方法,其中一个采用int参数,另一个采用两个int参数.我一直在一个int参数方法上得到错误.substring方法应该返回一个新的MiniString,它由int参数指定的目标Ministring中的位置和目标MiniString的末尾之间的字符组成.我在JUnit Tester中遇到的错误如下:

java.lang.ArrayOutofBoundsException:22
at MiniString.substring(MiniString.java:141)
at MiniString.substring(MiniString.java:159)
Run Code Online (Sandbox Code Playgroud)

这是我的MiniString对象的构造函数:

private char[] miniscule;

 MiniString(char[] array){
  int i = 0;
  miniscule = new char[array.length];
  while (i < array.length){
   miniscule[i] = array[i];
   i++;
  }
 }
 MiniString(String string){
  int i = 0;
  miniscule = new char[string.length()];
  while (i < string.length()){
   this.miniscule[i] = string.charAt(i);
   i++;
  }
 }
Run Code Online (Sandbox Code Playgroud)

这是两个substring()方法的代码:

public MiniString substring(int start, int end){
  int i = start; 
  if (end > start){
   char[] temp = new char[end - start];
   MiniString range = new MiniString(temp);
   while …
Run Code Online (Sandbox Code Playgroud)

java methods instance

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

C++类错误

我有这个代码

#include <iostream>
using namespace std;

class time{
            public:

             time();        //constructor

             void settime(int,int,int);

             void print();

      private:

              int hour,min,sec;

              };

//constructor

time::time(){

             hour=min=sec=0;

             }

int main(){

    int num;

    time t1;//line1

    time t2;//line2

    cout<<"hello"<<endl;

    cin>>num;

    return 0;}
Run Code Online (Sandbox Code Playgroud)

这些行中的错误是:

预期`;' 在"t1"之前

[警告]声明是一个参考,而不是调用,以函数"时间"

对于每一行

有什么问题???

c++ warnings class instance

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

没有attr_accessor的等效ruby代码?

这是一个Java代码:

public class test{
     public static void main(String args[]){
     number A = new number();
     System.out.println(A.b);       
    }   
}

class number{
    int b = 100;    
}
Run Code Online (Sandbox Code Playgroud)

在没有attr_accessor的ruby中是否有相当于上面的代码?

为什么我们不能使用'.'访问成员变量.喜欢在java?还是有一种我不知道红宝石的方式......?

ruby variables comparison instance

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

Javascript将对象从包含文件传递到页面

我创建了一个javascript对象和一个函数来构建一个新的对象实例.我现在需要在我的页面上使用这个对象但是没有运气,我觉得我错过了一些东西.

JS包含文件

function MyObject() {
    this.ID = 0;
    this.Name = "";
}

function GetObject(param1, param2) {
    //ajax call to get json string
    $.ajax({ //leaving out details this part works
    success: function(data) {
        var jsonData = $.parseJSON(data.d);

        var myObj = new MyObject();
        myObj.ID = jsonData[0].ID;
        myObj.Name = jsonData[0].Name;

        return myObj;
    });
}
Run Code Online (Sandbox Code Playgroud)

此调用工作正常,但是当我尝试访问我得到的页面上的数据时 undefined

<script type="text/javascript">
    $(function() {
        var o = GetObject(1, 2);
    });
</script>
Run Code Online (Sandbox Code Playgroud)

通过将DOM对象传递给函数并将其分配到那里,我能够使它工作.

function GetObject(param1, param2, domObj) {
    //ajax call to get json string
    $.ajax({ //leaving out …
Run Code Online (Sandbox Code Playgroud)

javascript jquery object instance

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

JavaFX - 每个阶段的独特场景

我有一个扩展Application的类并调用主要阶段.这个主要阶段有一个Next Button,它将调用另一个阶段(选项阶段).选项阶段有一个上一个按钮.我想获得主要阶段的实例,处于用户单击"下一步"按钮之前的状态,例如:带有输入数据的文本字段或带有所选项目的组合框.我怎样才能做到这一点?

主要课程:

public class MainClass extends Application {

    @Override
    public void start(Stage primaryStage) throws Exception {

        final FXMLLoader loader = new FXMLLoader(getClass().getResource("interfaceOne.fxml"));
        final Parent root = (Parent)loader.load();
        final MyController controller = loader.<MyController>getController();

        primaryStage.initStyle(StageStyle.TRANSPARENT);
        primaryStage.getIcons().add(new Image(getClass().getResourceAsStream("icon.png")));

        Scene scene = new Scene(root);
        primaryStage.setScene(scene);
        Platform.setImplicitExit(false);

        controller.setStage(primaryStage);
        primaryStage.show();        
    }

    public static void main(String[] args) {
        launch(args);
    }
Run Code Online (Sandbox Code Playgroud)

}

myController的:

public class MyController{

    // Some declarations ...

    Stage stage = null;

    public void setStage(Stage stage) {
       this.stage = stage;
    }

    // Next button's action …
Run Code Online (Sandbox Code Playgroud)

javafx stage instance

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

如何使用成员函数的decltype

我正在尝试在Visual Studio 2012中对成员函数使用decltype.我偶然发现了一个特性,我想知道这是不是意图还是编译错误.考虑(只是一个没有意义的代码片段来表明我的观点):

struct Test { int f() {return 0;} } T;
std::integral_constant<decltype(T.f()), 5>;
std::integral_constant<decltype(&Test::f), 5>; // error C2440
Run Code Online (Sandbox Code Playgroud)

当第二行编译时,第三行给出错误C2440:'specialization':无法从'int'转换为'int(__thiscall Test ::*)(void)'

为什么在函数的instanciated调用上的decltype产生它的返回类型(这是我所期待的),但是如果没有任何成员涉及尝试做同样的操作会产生成员函数指针?如果这是预期的行为,背后的原因是什么?我如何表示我正在请求成员函数的返回类型,而实际上没有实例?当然,我可以用脏的方式做到这一点:

std::integral_constant<decltype(((Test*)nullptr)->f()), 5>;
Run Code Online (Sandbox Code Playgroud)

但毫无疑问,这很漂亮,非常丑陋,应该有一种干净,直接的C++方式来表达这一点.

c++ function member instance decltype

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

带用户输入的类示例

在大多数我在网上看到(尝试)学习类的例子中,类的实例是由程序员定义的.有没有办法创建一个类的实例,其中存储类的变量是由用户定义的?

这是来自另一个SO问题的对象的示例:

class StackOverflowUser:
    def __init__(self, name, userid, rep): 
        self.name = name
        self.userid = userid
        self.rep = rep

dave = StackOverflowUser("Dave Webb",3171,500)
Run Code Online (Sandbox Code Playgroud)

如何更改以便用户可以基于类创建实例?

python class instance python-2.7

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

将值初始化为构造函数

在下面的代码中,我已经声明了2个用户定义的构造函数,一个没有参数,另一个带有3个参数,在构造函数中我将值赋给实例变量,当执行main方法时,不带参数的构造函数的输出是2并且具有3个参数的构造函数的o/p在第一种方式中为0,但是当我尝试第二种方式时,零参数构造函数的o/p为2,而对于3参数,构造函数为15,其中我传递参数而对象创建,现在我不明白为什么在第一种方式输出为零.

public class Main {

    int x, y, z;

    Main() {
        x = 2;
        y = 2;
        z = 2;
    }

    // first way
    Main(int x, int y , int z) {
        x = 20;
        y = 20;
        z = 10;
    }

    // second way
    Main(int x, int y , int z) {
        this.x = x;
        this.y = y;
        this.z = z;
    }

    public int sub() {
        int m;
        m = x + y - z;
        System.out.println("the value is " …
Run Code Online (Sandbox Code Playgroud)

java variables constructor instance

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

java Array.newInstance抛出ClassCastException,为什么?

非常简单的代码:

    int[] a = new int[]{4,1,2,3};
    Array a3 = (Array) Array.newInstance(a.getClass(), a.length);
Run Code Online (Sandbox Code Playgroud)

它抛出一个异常'在线程中的异常"main"java.lang.ClassCastException:[[我不能强制转换为java.lang.reflect.Array"

我哪里出错了,怎么解决?

java arrays generics instance new-operator

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