Cuối tôi phải đối mặt với các vấn đề trỏ ngón tay vào trình biên dịch VC6.Đã đến lúc nói lời tạm biệt với trình biên dịch VC6 chưa?
Rất ít trong số đó là:
- Một chức năng-thử-block không hoạt động. Related Q
- hằng số trong lớp không hoạt động.
- __FUNCTION_ (Macro để lấy tên hàm) không hoạt động
- Bổ sung mới nhất là nó không cho phép các hàm trống được chuyển như một phần của for_each.
Ví dụ bên dưới không được biên dịch bằng trình biên dịch VC6. Nó nói "lỗi C2562: '()': 'void' trả về một giá trị". Có vẻ như VC6 không thích các hàm void được chuyển tới for_each.
class Temp
{
public:
Temp(int i):m_ii(i)
{}
int getI() const
{
return m_ii;
}
void printWithVoid()
{
cout<< "i = "<<m_ii<<endl;
}
bool printWithBool()
{
cout<< "i = "<<m_ii<<endl;
return true;
}
private:
int m_ii;
};
int main(void)
{
std::vector<Temp> arrTempObjects;
arrTempObjects.push_back(Temp(0));
arrTempObjects.push_back(Temp(2));
//Doesnot work, compiler error
std::for_each(arrTempObjects.begin(), arrTempObjects.end(), std::mem_fun_ref(&Temp::printWithVoid));
//Works
std::for_each(arrTempObjects.begin(), arrTempObjects.end(), std::mem_fun_ref(&Temp::printWithBool));
return 0;
}
Bạn đã gặp phải bất kỳ vấn đề nào khác liên quan đến VC6.0. Bất kỳ giải pháp nào để giải quyết những vấn đề này? Hoặc là nó thời gian để thay đổi trình biên dịch?
Cùng thời trang: Đã đến lúc nói goobye với Commodore 64 Basic chưa? VC6 là công nghệ thế kỷ 20, vượt qua nó. – MSalters
Dự án lớn đến mức nào, trong bao lâu cho đến khi bạn giao hàng? –
Hãy thử STLPort, nó có thể giúp đỡ. –