小编Cod*_*dor的帖子

"如果C++指针被删除两次,它可能会导致陷阱" - 陷阱意味着什么?

我遇到了这样的C++测验:如果指针被删除两次会发生什么?

  • A)它可以中止程序
  • B)它可能导致失败
  • C)它可能导致错误
  • D)它可能导致陷阱

答案是D.

我有点失落,"陷阱"是什么意思?它是C++中的一个特殊术语吗?

c++ terminology

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

maskedTextBox中的IP地址验证C#

我在C#中有申请表,我有以下代码来验证掩码文本框中的IP地址:

private void MainForm_Load(object sender, EventArgs e)
{
    IPAdressBox.Mask = "###.###.###.###";
    IPAdressBox.ValidatingType = typeof(System.Net.IPAddress);
    IPAdressBox.TypeValidationCompleted += new TypeValidationEventHandler(IPAdress_TypeValidationCompleted);
}
void IPAdress_TypeValidationCompleted(object sender, TypeValidationEventArgs e)
{
    if(!e.IsValidInput)
    {
        errorProvider1.SetError(this.IPAdressBox,"INVALID IP!");             
    }
    else
    {
        errorProvider1.SetError(this.IPAdressBox, String.Empty);
    }
}
Run Code Online (Sandbox Code Playgroud)

在IPAdres_TypeValidationComleted函数中,如果if语句为true,则errorProvider1闪烁并给出"INVALID IP"消息,否则它应该消失.问题是即使我输入有效的IP地址,输入类型似乎总是无效的.

c# ip-address

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

C中的矩阵转置

假设我定义了一个矩阵并按以下方式分配值:

 double A[row * column];

 for (int j = 0; j < column; j++){
     for (int i = 0; i < row; i++){
       A[j*row + i] = ((double)rand())/RAND_MAX; // random value
     }
   }
Run Code Online (Sandbox Code Playgroud)

如何计算这个矩阵的转置?我尝试了以下操作,但结果矩阵不正确。

double B[column * row]; 

for(int j = 0; j < row; j++){
     for(int i = 0; i < column; i++){
       B[j*row + i] = A[i*row + j];
     }
   }
Run Code Online (Sandbox Code Playgroud)

c transpose matrix matrix-transform

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

"错误:并非所有代码路径都返回一个值."

编译时,我的代码抛出了名义上的异常.我不明白为什么会发生这种情况,因为在广泛搜索之后,错误发生的原因似乎只有当条件存在且没有退出返回语句时,我认为我的代码是完全包容的.

bool CheckExisting()
{
    Account loginAcc = new Account();

    string path = Application.StartupPath.ToString() + "\\Customers";
    int fCount = Directory.GetFiles(path, "*.xml", SearchOption.AllDirectories).Length;
    for(int i = 0;i<fCount;i++)
    {
        String[] filePaths = Directory.GetFiles(Application.StartupPath + "\\Customers\\");
        XmlDocument xmlFile =new XmlDocument();
        xmlFile.Load(filePaths[i]);

        foreach(XmlNode node in xmlFile.SelectNodes("//Account"))
        {
            string firstName = node.SelectSingleNode("FirstName").InnerText;
            string lastName = node.SelectSingleNode("LastName").InnerText;
            string address1 = node.SelectSingleNode("Address1").InnerText;
            string address2 = node.SelectSingleNode("Address2").InnerText;
            string postCode = node.SelectSingleNode("Postcode").InnerText;
             string telePhone = node.SelectSingleNode("Telephone").InnerText;
            string mobile = node.SelectSingleNode("Mobile").InnerText;

            Account newAcc = new Account();

            newAcc.firstName = firstName;
            newAcc.lastName = …
Run Code Online (Sandbox Code Playgroud)

c# for-loop return return-value

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

正确的bool定义为非可空操作符

var account = new TRANSPORT_TO_ACCOUNT
{
    TransportLayerId = reader["ID"] as string,
    ...
    BLOCKED = reader["BLOCKED"] as bool,
};
accounts.Add(account);
Run Code Online (Sandbox Code Playgroud)

我有这个代码的问题.

as运算符必须与引用类型或可空类型一起使用('bool'是不可为空的值类型)

BLOCKED在这种情况下我应该如何正确宣布?

c#

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