/**
* Testing Arrays
* @author N002213F
* @version 1.0
*/
public class JavaArrays {
public void processNames(String[] arg) {
//-- patented method, stop, do not read ;)
}
public void test() {
// works fine
String[] names1 = new String[] { "Jane", "John" };
processNames(names1);
// works fine, nothing here
String[] names2 = { "Jane", "John" };
processNames(names2);
// works again, please procced
processNames(new String[] { "Jane", "John" });
// fails, why, are there any reasons?
processNames({ "Jane", "John" …Run Code Online (Sandbox Code Playgroud) 我班上的枚举声明有问题.我试图在私人,公共,外部,主要,无效的情况下宣布它.我需要从外部调用类中的函数并使用函数中的枚举这里是我的代码.
class Algoritem {
public:
enum Optimization { W , A , D };
enum FenceType { OF , CC };
enum Eventopa { BR , OR };
algorithem* OptimalPatrol(double N, int K, double VS, double T, Optimization F,FenceType FT, Eventopa E, double Imax,double P);
};
Run Code Online (Sandbox Code Playgroud)
当我需要调用OptimalPatrol()时,我需要输入3个枚举.我无法在主要版本中重新声明它们,那么如何从主要的变量输入我的枚举?
通过阅读这篇文章,看起来在声明全局变量时应该考虑某些规则.
所以我尝试在.m文件中声明全局变量.但是,代码感觉似乎不高兴为我这样做.例如,假设我在.m文件中已有2行:
@implementation ViewController
@synthesize abc,xyz;
现在我要添加"BOOL isChecked;".
如果我在下面输入"@synthesize"(或者只是在@implementation和@synthesize之间),代码意义实际上建议我在输入"BOOL"时输入"bool"(小写).如果我在"@implementation"上面键入"BOOL",它会成功建议"BOOL".
当然,全局变量是这个类的一部分,这意味着它应该在实现中.我不确定为什么不喜欢让我们这样做.
这让我觉得Objective-C不喜欢我们在@synthesize下面声明全局变量.但我的问题是为什么?我觉得可能有一个原因或苹果公司在这里犯了一个错误.
我在c ++中有一个非常基本的问题,我正在读取一个制表符分隔文件,我想要声明一个带有维度的数组,如果文件有的字段数(使用不同宽度的不同文件),所以我需要阅读第一行并计算字段数,我试过这个:
while(getline(t, line));{
...
if(!flag)
{int array[size][5];
flag=1}
...
}
Run Code Online (Sandbox Code Playgroud)
但后来我得到了错误:
错误:此范围内未声明'array'
我理解这是因为变量的范围在if循环中,有没有办法声明一个空数组并调整它的大小?或者我必须使用指针?
给出以下代码段:
int i = 0;
int y = + ++i;
System.out.println(y);
Run Code Online (Sandbox Code Playgroud)
结果是1.为什么这是一个有效的声明?谁能解释什么是= +?
以下零双变量声明之间有什么显着差异:
0.0VS0d
double d1 = 0.0;
double d2 = 0d;
Run Code Online (Sandbox Code Playgroud)
我知道这些都比不仅仅更好0,因为对于代码阅读器来说更明显.
但0.0VS的0d差异对我来说并不清楚.
我不明白为什么变量i在一开始就不为人所知.如何在括号中定义变量?(如果使用int i我仍然会收到错误)
void cardlike(vector<int> &v)
{
unsigned max_pos = 0;
int tmp;
for (unsigned i = 0; i < v.size(); i++);
{
for (unsigned j = 0; j < v.size() - i; j++)
if(v[j] > v[max_pos])
max_pos = j;
tmp = v[max_pos];
v[max_pos] = v[v.size() - i - 1];
v[v.size() - i - 1] = tmp;
}
}
Run Code Online (Sandbox Code Playgroud)
当我用-std = c ++ 11编译时,这就是我从g ++中得到的:
sortvector.cpp:93:38: error: ‘i’ was not declared in this scope
for(unsigned j = 0; j < v.size() …Run Code Online (Sandbox Code Playgroud) 我在C中尝试了一些基本的数据结构.我很久以后就回到了C语言.这是我的简单struct:
typedef struct
{
int data;
LLNode *next; //Error: unknown type name 'LLNode'
}LLNode;
Run Code Online (Sandbox Code Playgroud)
但它给出了编译错误,如上所示.是因为编译时编译struct器不知道存在LLNode吗?这意味着我必须首先声明LLNode之前struct.是这样的吗?如果是的话我该怎么做呢?
我有一个由几个参数和一个唯一id定义的元素数组,我创建了一个函数,它返回与某个唯一id相关联的元素,问题是如果输入了一个无效的ID(一个未被存储的ID) array),我的函数没有返回的有效值.
我的问题是,如果函数不一定返回某些内容,我的代码将无法编译,有没有办法告诉编译器这可以在这里做到这一点?
谢谢.