【发布时间】:2015-02-11 05:56:12
【问题描述】:
我使用 clang++ 编译程序,我需要在 clang++ 中没有错误地编译它。其他编译器没有错误。
代码中的错误行是
memset(grid_, 0, sizeof(int) * x_quadrants * y_quadrants);
整个函数是这样的:
Ocean::Ocean(int num_boats, int x_quadrants, int y_quadrants)
{
grid_ = new int[x_quadrants * y_quadrants];
memset(grid_, 0, sizeof(int) * x_quadrants * y_quadrants);
x_quadrants_ = x_quadrants;
y_quadrants_ = y_quadrants;
boats_ = new Boat[num_boats];
num_boats_ = num_boats;
stats_.hits = 0;
stats_.misses = 0;
stats_.duplicates = 0;
stats_.sunk = 0;
}
我正在使用 memset,因此在使用不同的驱动程序进行测试时,我不会得到垃圾值输出。没有必要为 clang 提供命令行,因为我不允许更改它。
【问题讨论】:
-
错误是什么?错误在哪里?构造函数中提到的
Ocean的成员变量有哪些类型?当您说“其他编译器没有错误”时,您是什么意思?那里的编译选项是什么? clang 有哪些选择?您的问题缺少很多重要信息。
标签: c++ implicit-conversion memset