我创建了一个带有2个diffrernt模板参数t1,t2和返回类型t3的简单函数.到目前为止没有编译错误.但是当Itry从main调用函数时,我遇到错误C2783.我需要知道以下代码是否合法?如果不是如何修复?请帮忙!
template <typename t1, typename t2, typename t3>
t3 adder1 (t1 a , t2 b)
{
return int(a + b);
};
int main()
{
int sum = adder1(1,6.0); // error C2783 could not deduce template argument for t3
return 0;
}
Run Code Online (Sandbox Code Playgroud) 我必须编写一些财务应用程序,我必须代表流程表.流程可以有3种类型:
我需要保留所有信息,我需要代表这些流程的时间表.本来我想用继承和创建三个类FeeFlow,FloatingFlow,FixedFlow所有继承ICashFlow并实现一些方法GetFlowType()返回一个枚举,然后我可以dynamic_cast将对象为正确的类型.
那将使我只有一个vector<IFlow>代表我的日程安排.
你怎么看待这个设计,我应该使用三个向量vector<FeeFlow>,vector<FloatingFlow>并vector<FixedFlow>避免动态转换?
已经决定使用moq等编写一些单元测试.它有很多遗留代码c#
(这是我无法控制的,所以不能回答这个问题)
现在,如果您不想访问数据库但间接仍然访问数据库,您如何应对这种情况?
这是我把它放在一起的东西,它不是真正的代码,而是给你一个想法.
你会如何处理这种情况?
基本上在模拟接口上调用一个方法仍然会调用dal调用,因为在该方法中有其他方法不属于该接口的一部分?希望它清楚
[TestFixture]
public class Can_Test_this_legacy_code
{
[Test]
public void Should_be_able_to_mock_login()
{
var mock = new Mock<ILoginDal>();
User user;
var userName = "Jo";
var password = "password";
mock.Setup(x => x.login(It.IsAny<string>(), It.IsAny<string>(),out user));
var bizLogin = new BizLogin(mock.Object);
bizLogin.Login(userName, password, out user);
}
}
public class BizLogin
{
private readonly ILoginDal _login;
public BizLogin(ILoginDal login)
{
_login = login;
}
public void Login(string userName, string password, out User user)
{
//Even if I dont want to this …Run Code Online (Sandbox Code Playgroud) 我正在从一个页面发送值到另一个页面,我想存储我发送的值,然后想要将我发送的值与我已经发送的值进行比较,即保存的值.同时存储值进入一个持久对象的数组,然后比较该值与另一个数组,我面临一些问题,任何人都可以告诉我如何检查数值是否已经退出数组,我给出的代码,请帮助
package com.firstBooks.series.db;
import java.util.Random;
import net.rim.device.api.system.PersistentObject;
import net.rim.device.api.system.PersistentStore;
import net.rim.device.api.util.Arrays;
import net.rim.device.api.util.Persistable;
import com.firstBooks.series.db.parser.XMLParser;
import com.firstBooks.series.ui.managers.TopManager;
import com.firstBooks.series.ui.screens.TestScreen;
public class DBMain implements Persistable{
public static String answer = "";
public static String selectedAnswer = "";
public static Question curQuestion;
public static int currQuesNumber = 1;
public static int correctAnswerCount = -1;
static int curQuesnew;
static int quesCount=-1;
static int xyz;
static int j=0;
public static int totalNumofQuestions = Question.totques;
public static int quesNum[] = new int[XMLParser.questionList.size()];
static PersistentObject qStore; …Run Code Online (Sandbox Code Playgroud) 我使用以下命令从我的java代码调用.exe文件:
Runtime r=Runtime.getRuntime();
Process p=null;
p=r.exec("ABCD.exe");
Run Code Online (Sandbox Code Playgroud)
我希望程序等到exe完成它的工作.(这实际上是服务器端代码...控制在此之后传递给客户端).现在的问题是客户端的UI在服务器端的.exe之前填充可以形成所需的组件.形成的UI没有正确的文件.我尝试了正常的p.waitfor(),但它似乎没有用.有什么建议?
在其他主题中已经多次讨论过不建议使用可变参数函数,因为编译器无法检查提供的参数的类型.
但是,如果用户确切知道类型可以是例如std :: string,那该怎么办?这里还有什么问题吗?
问候
我不喜欢宽代码,特别是当它迫使我滚动时.所以写了这个:
If _item.SubItems(pd.perioddate).Text = "N/A" Or _item.SubItems(pd.perioddate).Text = String.Empty Then
dtpDeadlineforAP.Checked = False
End If
Run Code Online (Sandbox Code Playgroud)
是否有一种体面的方式来减轻它,使它更优雅?
我们可以在构造函数上使用wait()方法吗?我有一个构造函数方法,其中我调用一些其他初始化方法和gui方法之后.但它接缝是它在第一种方法之前加载gui.因此它会给尚未初始化的对象带来错误.我尝试在gui的调用之前使用wait()但是有一个IllegalMonitorStateException错误,因为它不在同步块中.
试着这样做:
dice = new Dice();
this.generateBoard();
this.generateCells();
this.wait(200,100); //otherwise??
//GUI
board = new GUI(this);
Run Code Online (Sandbox Code Playgroud) class base {};
class der : public base{};
der d1;
der d2(d1);
Run Code Online (Sandbox Code Playgroud)
此语句调用类base的默认构造函数,然后复制claas der的构造函数.我的问题是为什么C++没有提供调用基类复制构造函数的功能,同时通过复制派生类的另一个对象来创建派生类的对象
c++ ×4
java ×4
.net ×1
blackberry ×1
concurrency ×1
constructor ×1
finance ×1
inheritance ×1
moq ×1
oop ×1
refactoring ×1
swing ×1
templates ×1
unit-testing ×1
vb.net ×1
wait ×1