问题列表 - 第24732页

在用bounds扩展的泛型内部类的继承上编译错误

编译具有内部类的泛型类时遇到问题.该类扩展了一个泛型类,也就是内部类.

这里实现的接口:

public interface IndexIterator<Element>
    extends Iterator<Element>
{
  ...
}
Run Code Online (Sandbox Code Playgroud)

通用超类:

public abstract class CompoundCollection<Element, Part extends Collection<Element>>
    implements Collection<Element>
{
  ...

  protected class CompoundIterator<Iter extends Iterator<Element>>
      implements Iterator<Element>
  {
    ...
  }
}
Run Code Online (Sandbox Code Playgroud)

具有编译器错误的通用子类:

public class CompoundList<Element>
    extends CompoundCollection<Element, List<Element>>
    implements List<Element>
{
  ...

  private class CompoundIndexIterator
      extends CompoundIterator<IndexIterator<Element>>
      implements IndexIterator<Element>
  {
    ...
  }
}
Run Code Online (Sandbox Code Playgroud)

错误是:

type parameter diergo.collect.IndexIterator<Element> is not within its bound
       extends CompoundIterator<IndexIterator<Element>>
                                             ^
Run Code Online (Sandbox Code Playgroud)

怎么了?代码用eclipse编译,但不用java 5编译器编译(我在mac和eclipse 3.5上使用ant和java 5).不,我无法将其转换为静态内部类.

java generics inheritance inner-classes

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

Windows程序如何暂时更改其时区?

我写了一个函数来返回time_t给定日期对应午夜的值.当某一天没有午夜时,它会返回最早的可用时间; 例如,当埃及进入夏令时时,就会发生这种情况.今年,时间变更将于4月29日晚上午夜生效,因此时钟从23:59直接到01:00.

现在我正在为这个函数编写单元测试,其中一个测试应该复制埃及场景.在Unix中,我可以像这样完成它:

putenv("TZ", "Egypt", true);
tzset();
Run Code Online (Sandbox Code Playgroud)

在这样做之后,进一步的呼吁localtime表现得好像他们在埃及而不是明尼苏达,我的测试通过了.但是,仅仅设置环境变量对Windows没有任何影响.如果不影响系统上运行的其他程序,我该怎么做才能让单元测试认为它在其他地方?

c++ windows timezone unit-testing

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

Process.Start - 将html代码传递给exe作为参数

我使用下面的代码从Windows服务启动可执行文件,我需要传递html代码(存储在变量中)作为参数.我用双引号逃脱但这不起作用.为了正确传递,我需要做什么?提前感谢您提供的任何指导.

服务内部:

Process.Start(@"E:\Program Files\MyApp.exe", dr["rec"].ToString() +
                                  " \"" + subject + "\" \"" + htmlVar);
Run Code Online (Sandbox Code Playgroud)

然后在MyApp.exe中:

static void Main(string[] args)
{
    Program MyProg = new Program();
    MyProg.MyMeth(args[0].ToString(), args[1].ToString(), args[2].ToString());
}
Run Code Online (Sandbox Code Playgroud)

exe文件只是一个处理电子邮件发送的简单应用程序.dr ["rec"].ToString()是收件人的电子邮件地址.变量"subject"将包含电子邮件的主题.变量"htmlVar"可以包含任何东西,div,图像,超链接等等.而html代码可能非常冗长.我不应该试图将这么多数据作为论据传递吗?再次感谢您的帮助.

c# argument-passing

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

C中的Static,define和const

我已经读过,当每次调用函数时不希望变量值改变/初始化时,静态变量在函数内部使用.但是如何在"main"之前在主程序中定义变量static,例如

#include <stdio.h>

static double m = 30000;

int main(void)
{
value = m * 2 + 3;
}
Run Code Online (Sandbox Code Playgroud)

这里变量m具有一个常量值,以后不会在主程序中修改.在同样的思路中,它有什么不同,而不是使用静态定义:

const double m = 30000;
Run Code Online (Sandbox Code Playgroud)

要么

#define m 30000  //m or M  
Run Code Online (Sandbox Code Playgroud)

然后确保在主代码中使用双重操作,以便将m转换为正确的数据类型.

c static const c-preprocessor

19
推荐指数
4
解决办法
2万
查看次数

如何在Scala中将对象用作模块/仿函数?

我想使用对象实例作为模块/仿函数,或多或少,如下所示:

abstract class Lattice[E] extends Set[E] {
  val minimum: E
  val maximum: E
  def meet(x: E, y: E): E
  def join(x: E, y: E): E
  def neg(x: E): E
}

class Calculus[E](val lat: Lattice[E]) {
  abstract class Expr
  case class Var(name: String) extends Expr {...}
  case class Val(value: E) extends Expr {...}
  case class Neg(e1: Expr) extends Expr {...}
  case class Cnj(e1: Expr, e2: Expr) extends Expr {...}
  case class Dsj(e1: Expr, e2: Expr) extends Expr {...}
}
Run Code Online (Sandbox Code Playgroud)

这样我就可以为每个晶格创建一个不同的微积分实例(我将执行的操作需要其中的信息是晶格的最大值和最小值).我希望能够混合相同微积分的表达式,但不允许混合不同表达式的表达式.到现在为止还挺好.我可以创建我的微积分实例,但问题是我不能在其他操作它们的类中编写函数.

例如,我正在尝试创建一个解析器来读取文件中的表达式并返回它们; …

scala type-inference module functor inner-classes

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

将两个数字合二为一.示例:123和456变为123456

在C++中,如何将两个整数组合(注意:不添加)成一个大整数?

例如:

int1 = 123;
int2 = 456;
Run Code Online (Sandbox Code Playgroud)

是否有一个函数来取两个数字并将intCombined转换为123456?

编辑:

我不好解释清楚.如果int2为0,则答案应为123,而不是1230.实际上,如果int2超过32位限制,则int1(左侧的数字)将只有一个值.所以当int2为0时,int1为0(或垃圾,我不确定).

c++ formatting parsing

18
推荐指数
5
解决办法
4万
查看次数

具有流体高度的表Rowspan的CSS等效

我正在尝试使用CSS完成以下操作:

<table border="1" width="300px">
<tr>
    <td rowspan="2">This row should equal the height (no fixed-height allowed) of the 2 rows sitting to the right.</td>
    <td>Here is some sample text.  And some additional sample text.</td>
</tr>
<tr>
    <td>Here is some sample text.  And some additional sample text.</td>
</tr>
</table>
Run Code Online (Sandbox Code Playgroud)

替代文字

我见过的用于实现此目的的示例利用固定高度或允许内容环绕左列.有没有一种优雅的方法来使用CSS实现这一目标?

css html-table css-tables

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

如何在使用Android生成的ant构建文件时为JAR指定lib文件夹?

我正在使用由android生成的ant构建文件.我们的Android应用程序需要一个JAR文件,它存在于我们项目的lib文件夹中,所以我需要调整ant在构建东西时使用的类路径.

当我跑:

ant -lib lib debug
Run Code Online (Sandbox Code Playgroud)

项目构建得很好,但这应该在构建文件本身内部.android生成的构建文件引用了android_rules.xml,因此很多这样的东西都是自动化的.我想我的问题是,在使用Android构建规则时,最佳做法是什么?

xml ant android build

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

将dll注册到GAC中 - 但随后它不会显示在汇编窗口中

我有这个代码将dll注册到我的gac中

 Assembly asm = Assembly.LoadFrom(argument);
    RegistrationServices regAsm = new RegistrationServices();
    bool bResult = regAsm.RegisterAssembly(asm, AssemblyRegistrationFlags.SetCodeBase);
Run Code Online (Sandbox Code Playgroud)

并且工作正常,我对bResult忠诚,但是当我打开GAC窗口时,我希望看到那里的dll,但事实并非如此.谁能解释我为什么?

当我将dll放入GAC窗口时,我在那里看到它.

c#

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

使用LINQ IEnumerable <IEnumerable <T >>到IEnumerable <T>

如何将分裂IEnumerableIEnumerables一个平坦的IEnumerable使用LINQ(或其他某种方式)?

.net c# linq generics ienumerable

18
推荐指数
3
解决办法
5041
查看次数