我使用了clang ++來編譯程序,我需要在clang ++中編譯它時沒有錯誤。我沒有與其他編譯器錯誤。隱式轉換更改簽名'int'到'unsigned int'
在代碼中的錯誤行
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所以我不會讓垃圾量輸出測試時使用不同的驅動程序。沒有必要爲叮噹聲提供命令行,因爲我不允許改變它。
什麼是錯誤?錯誤在哪裏?在構造函數中提到的'Ocean'成員變量的類型是什麼?當你說「沒有其他編譯器出錯」時,你是什麼意思?那裏有什麼彙編選項? clang有哪些選項?你的問題缺少很多重要的信息。 – Pradhan 2015-02-11 05:58:36