c++ - 帮助解决结构中的段错误

标签 c++ segmentation-fault

我在调试代码时遇到问题。我有一个结构和一个 计算以 HH:MM:SS 格式输入的时差的函数。 我的代码是:

const int hourConv = 3600; // used to get total hours from total seconds 
const int minConv = 60; 
struct MyTime { 
    int hours, minutes, seconds; 
}; 

MyTime *determineElapsedTime(const MyTime *time1, const MyTime *time2) 
{ 
        long timeOneSec = time1->hours*hourConv + time1->minutes*minConv + time1->seconds; 
        long timeTwoSec = time2->hours*hourConv + time2->minutes*minConv + time2->seconds; 
        long ans = timeTwoSec - timeOneSec; 
        cout << ans; 
        MyTime *timeDiff; 
        timeDiff->hours = ans / hourConv; 
        timeDiff->minutes = ans % hourConv / minConv; 
        timeDiff->seconds = ans % hourConv % minConv; 
        return timeDiff; 
} 

我认为问题出在倒数第二行: timeDiff->seconds = ans%hourConv%minConv; 因为当我评论那行时, 我没有收到段错误。但我不明白为什么 该行无效。任何帮助,将不胜感激。谢谢!

最佳答案

您的代码包含:

MyTime *timeDiff;
timDiff->hours = ...

你已经创建了一个 MyTime 指针但没有分配任何东西。此时 timeDiff 为空。

关于c++ - 帮助解决结构中的段错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1705727/

相关文章:

关于模板导出的 C++ 标准,谁能解释一下?

c++ - 有没有办法将一个文件包含到 C++ 中的所有项目文件中?

c++ - 获取可变参数函数中传递参数的类型

c++ - 为什么我收到错误, ‘struct node’ 需要模板参数?

ubuntu - libpcre.so.3.13.1 中的 php5-fpm 段错误 6

c++ - C++ 中一个类的多个接口(interface)

c - 在二叉树中插入节点时程序崩溃

c - 如何防止 C 中的段错误(当采用错误类型的参数时)

c - 段错误: Reading values from a text file

C |指针|分段故障