我一直在训练在c ++中使用面向对象的编程,但我一直收到这个错误:
1>main.obj : error LNK2005: "int WIDTH" (?WIDTH@@3HA) already defined in GameObject.obj
1>main.obj : error LNK2005: "int HEIGHT" (?HEIGHT@@3HA) already defined in GameObject.obj
1>Spaceship.obj : error LNK2005: "int WIDTH" (?WIDTH@@3HA) already defined in GameObject.obj
1>Spaceship.obj : error LNK2005: "int HEIGHT" (?HEIGHT@@3HA) already defined in GameObject.obj
1>C:\Users\ted\documents\visual studio 2010\Projects\fullSpace\Debug\fullSpace.exe : fatal error LNK1169: one or more multiply defined symbols found
Run Code Online (Sandbox Code Playgroud)
但是对我来说,似乎整个代码都是正确编写的,并且只在Global标头中提到了两个int,并且所有对象似乎都是正确继承的.然而,正如我刚才所说,我是OOP的初学者,所以我真的需要一个意见:值得一提的是我正在使用allegro 5创造一个侧射手.
这是代码:
(主要):
#include <allegro5/allegro.h>
#include <allegro5/allegro_image.h>
#include <allegro5/allegro_primitives.h>
#include <allegro5/allegro_font.h>
#include <allegro5\allegro_ttf.h>
#include <allegro5\allegro_audio.h>
#include <allegro5\allegro_acodec.h>
#include <list> …Run Code Online (Sandbox Code Playgroud) 我想用Java擦除文本文件中的最后一行; 但是,下面的代码删除了所有内容.
public void eraseLast()
{
while(reader.hasNextLine()) {
reader.nextLine();
if (!reader.hasNextLine()) {
try {
fWriter = new FileWriter("config/lastWindow.txt");
writer = new BufferedWriter(fWriter);
writer.write("");
writer.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
Run Code Online (Sandbox Code Playgroud) 在任何程序中,或者至少大多数,当你选择一个按钮或任何东西时,有一个由点组成的选择框.
你怎么摆脱那个盒子?
我想要这样做的原因是因为我有一个带图像的按钮,没有contentFill,没有边框,并且在选择时看起来很尴尬.
我想从.txt文件中输出文本,该文件将有越来越多的文本,但是如果我这样做而不修改JLabel的大小,文本就会离开屏幕,是否有可能以某种方式自动增加JLabel,同时以某种方式检测还需要增加多少才能填写所有文本?或者是否有任何其他文本持有者不可编辑但满足该需求?