我有一个名为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的功能
所以我正在为"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) 我有这个代码
#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"之前
[警告]声明是一个参考,而不是调用,以函数"时间"
对于每一行
有什么问题???
这是一个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?还是有一种我不知道红宝石的方式......?
我创建了一个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) 我有一个扩展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) 我正在尝试在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++方式来表达这一点.
在大多数我在网上看到(尝试)学习类的例子中,类的实例是由程序员定义的.有没有办法创建一个类的实例,其中存储类的变量是由用户定义的?
这是来自另一个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)
如何更改以便用户可以基于类创建实例?
在下面的代码中,我已经声明了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) 非常简单的代码:
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"
我哪里出错了,怎么解决?
instance ×10
c++ ×3
class ×3
java ×3
variables ×2
arrays ×1
comparison ×1
constructor ×1
decltype ×1
function ×1
generics ×1
javafx ×1
javascript ×1
jquery ×1
member ×1
methods ×1
new-operator ×1
object ×1
python ×1
python-2.7 ×1
ruby ×1
stage ×1
warnings ×1