问题列表 - 第13991页

摆脱错误C2243

是否有可能摆脱C2243错误

class B {};
class D : protected B {};

D d;
B *p = &d;   // conversion from 'D *' to 'B &' exists, but is inaccessible
Run Code Online (Sandbox Code Playgroud)

我在我的应用程序中遇到此错误,最后我通过进行显式转换设法编译它:

D d;
B *p = (B*)&d;
Run Code Online (Sandbox Code Playgroud)

我无法理解为什么通过使D类继承受B保护而使得隐式转换不可访问.

我试图通过在D类中创建一个运算符B()来避免显式转换,以使转换可访问:

class B {};
class D : protected B 
{
 public:
 operator B() {return *this;}
};
Run Code Online (Sandbox Code Playgroud)

但是没有办法.

任何其他避免显式转换的解决方案?

c++ inheritance casting implicit-cast

10
推荐指数
2
解决办法
6272
查看次数

是否有可能在Java中改变从1970年到2008年的基本毫秒参考时间(如JSR-310)

我希望能够在Java中更改1970年到2008年的基本毫秒参考,这样我就可以节省数据库中的空间和唯一的ID.

最好是Joda-Time.

所谓的Java 7版本中即将推出的jsr-310实现了它.

在此链接的"离散时间轴"部分中,它指出毫秒的计数已从1970年改为2008年

http://today.java.net/pub/a/today/2008/09/18/jsr-310-new-java-date-time-api.html


我能看到的唯一其他选项是每次需要查找记录时以数学方式实现它.

例如

DateTime dt = new DateTime();  
long now = dt.getMillis();

DateTime dt2 = new DateTime(2008, 1, 1, 0, 0, 0, 0);  
long then = dt2.getMillis();

long smallerDate = now - then;
Run Code Online (Sandbox Code Playgroud)

较小的日期将存储在DB中

- 编辑 -

所以我误读了JSR-310,这是不可能的.

有更好的方法来节省空间,然后处理成千上万的请求计算多头的头痛.

我想将长记录为日期,因为我永远不会知道将数据库移动到哪里,也许MySQL => Oracle.

所以我不想要时间戳,我只想要BigInts.

java datetime jodatime java-7 jsr310

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

TFS 2008:Checkin无法继续,因为政策要求尚未得到满足

我们有许多开发人员的项目.有些使用Visual Studio 2008 Professional和TFS Client,其他人使用Visual Studio 2008 Team System.

我们有签到政策,应该有一个评论,它应该连接到工作项.

一些使用Visual Studio 2008 Professional的开发人员收到以下错误:

Checkin无法继续,因为政策要求未得到满足

即使条件已经满足.有一段时间我们也在VS Team System安装上得到了这个,但这似乎已经解决了.

任何想法我们为什么会收到此错误?我们错过了更新吗?

tfs tfs2008 visual-studio-2008

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

在sqlite中选择没有重复"First Letter"的查询

如何选择没有重复"首字母"值的数据?我的表有一个名为"title_raw"的列,数据排列遵循"A,B,C,......"我希望我的数据显示如下

Select (title_raw no duplicate first letter) from SONGS
Run Code Online (Sandbox Code Playgroud)

sqlite

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

如何轻松找到未使用的公共方法/属性

我有一个.Net(C#)解决方案.该解决方案包含大量项目.这些项目不是我实施的.它不是一个框架,它意味着我需要尽可能少的公共方法/属性.我的任务是确定未使用但存在于项目中的方法和属性.好吧,我可以找到不使用R#的私有方法.但是如何找到未使用的公共方法/属性是完全不清楚的.

我听说他们有NDepend工具,但它不是很简单的工具,是吗.

所以,问题是:请你指出一个工具,可以用来识别解决方案中没有使用的方法.我可以使用命令行工具或非常简单的东西.

UPD:我试过使用试用NDepend.

好吧,首先,似乎可以看到公共方法(属性表示为get_set_方法),这些方法未在此特定程序集中使用.

但NDepend无法识别公共方法是否来自另一个项目/程序集,这是解决方案的一部分,并将该方法显示为未使用.但是这是错误的.

UPD2:mcintyre321建议使用R#.请阅读下面的第一条评论.

.net methods refactoring properties public-method

8
推荐指数
1
解决办法
2748
查看次数

SQL Server 2005 - Row_Number()

我正在尝试理解在我的查询中最外层选择上使用DISITINCT时使用row_number()函数以降序排序结果时看到的异常行为,如下所示:

 SELECT   DISTINCT (ID), State_Id, Name_Of_Trip, Date_Of_Travel, Creation_Date, Locking_Id, Applicant_Name, Reference_Number, State_Name
    FROM (

    SELECT  app.ID, app.State_Id, app.Name_Of_Trip, app.Date_Of_Travel, app.Creation_Date, app.Locking_Id, app.Applicant_Name, app.Reference_Number, 
    State.Name AS State_Name, ROW_NUMBER() OVER(ORDER BY Reference_Number DESC) as rowNum  
    FROM Application_Leg AS app 
    INNER JOIN State AS state 
    ON app.State_Id = state.ID
    WHERE  (app.State_Id = 5 OR app.State_Id = 6 OR app.State_Id = 8)  AND app.Organisation_Id=12 
    AND Leg_Number IN
     (SELECT  DISTINCT Leg_Number 
     from Application_Leg as al
     INNER JOIN
     Organisation as org
     ON al.Organisation_Id = org.ID
     WHERE …
Run Code Online (Sandbox Code Playgroud)

sql sql-server sql-server-2005 row-number

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

MVVM中的控制器,如何从viewmodel获取信息到它的控制器?

我们正在使用MVVM模式构建应用程序,我们有控制器使用DI连接所有视图和视图模型.我见过的MVVM的所有例子都非常简单,只有1个视图.Viewmodels如何/应该与控制器对话?如果viewmodel将事件发送回控制器,控制器会知道模型和视图吗?应该在哪里进行保存?模型?控制器?

mvvm

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

使用Hibernate Criteria api检索emebedded或组件

我把这个类映射为一个实体,让我们称之为Person.Person与Address具有嵌入/组件关系.我在使用会返回Address对象的Criteria时遇到问题.我试过这个:

Criteria.createCriteria(Address.class)
Run Code Online (Sandbox Code Playgroud)

哪个不起作用.我想我需要通过实体然后我需要某种投影?

Criteria.createCriteria(Person.class).<<what goes here???>>
Run Code Online (Sandbox Code Playgroud)

建议?

hibernate criteria

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

Java方法参数拼图

我偶然发现了Java的一个非常令人费解的功能(?).

似乎使用"new"关键字替换方法参数将该对象转移到不同的范围:

import java.util.ArrayList;

public class Puzzle {
    public static void main(String[] args) {
        ArrayList<Integer> outer = new ArrayList<Integer>();
        outer.add(17);
        Puzzle.change(outer);
        outer.add(6);
        System.out.println(outer);

        // excpected output:
        // [23]
        // [23, 6]
        //
        // actual output:
        // [23]
        // [17, 7, 6]
    }

    public static void change(ArrayList<Integer> inner) {
        inner.add(7);
        inner = new ArrayList<Integer>();
        inner.add(23);
        System.out.println(inner);
    }
}
Run Code Online (Sandbox Code Playgroud)

任何人都可以解释这种奇怪吗?我注意到了与分配相同的行为.

java arguments pass-by-reference

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

什么是称为"破坏"代码的ruby测试工具,以查看测试的紧密程度?

很久以前我最终在一个托管了几个ruby工具的页面上,这些工具有'疯狂'的名字,比如'mangler'或'executor'等等.该工具的工作是修改生产代码(在运行时),以证明您的测试是精确的.

不幸的是,我现在想再次找到该工具,但不记得它被称为什么.有任何想法吗?

ruby testing mutation-testing

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