小编Nik*_*hil的帖子

C# 使用自定义 == 运算符检查类是否为 Null

我正在创建一个class定义数字(实数、虚数或复数)的简单函数。为了让我自己在使用 时变得简单class,我创建了我自己的operator ==.

public class Number
{
    public double Real { get; set; }
    public double Imag { get; set; }

    ...

    public static bool operator ==(Number x, Number y)
    {
        return (x.Real == y.Real && x.Imag == y.Imag);  // Error is thrown here
    }
    public static bool operator !=(Number x, Number y)
    {
        return !(x == y);
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,当我想检查是否Numberis时null,代码会抛出 NullReferenceException

Number overlap = null;
Number overlapsolve = null; …
Run Code Online (Sandbox Code Playgroud)

c# operators nullreferenceexception

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

C++ Try Catch Block没有捕获异常

我是C++的初学者,试图创建一个简单的控制台程序,计算线性方程的'm'和'b'...解析用户提供的输入双,我使用的是字符串流并尝试使用-catch块检查错误输入.即使catch块具有全局异常,持久性错误也会继续跟踪[方程Solver.exe中的0x74c8b9bc处的未处理异常:Microsoft C++异常:[rethrow]在内存位置0x00000000 ..]

double XOne;`enter code here`
double YOne;
double XTwo;
double YTwo;
bool inputCheck = false;
while (inputCheck == false)
{
    Clear();
    WriteLine("**Linear Equation**");
    Write("X1: ");
    string xone = ReadLine();
    Write("Y1: ");
    string yone = ReadLine();
    Write("X2: ");
    string xtwo = ReadLine();
    Write("Y2: ");
    string ytwo = ReadLine();
    try
    {
        stringstream s1(xone);
        if (s1 >> XOne) { s1 >> XOne; } else { throw; }
        stringstream s2(yone); // consider I give an invalid input for this variable
        if (s2 …
Run Code Online (Sandbox Code Playgroud)

c++ error-handling exception try-catch

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