我對共享指針是完全新聞。我試圖做我怎樣才能設置一個共享指針到一個普通指針
std::shared_ptr<Gdiplus::Pen> pen(new Gdiplus::Pen);
初始化之一,但它說,它需要一個類型說明符....我也想這個共享指針設置爲 一個普通指針。任何人都可以解釋我是如何工作的。非常感謝
#pragma once
class Shape
{
public:
Shape();
Gdiplus::Point start;
Gdiplus::Point end;
std::shared_ptr<Gdiplus::Pen> pen(new Gdiplus::Pen());
virtual LRESULT Draw(Gdiplus::Graphics * m_GraphicsImage) = 0;
void setPen(Gdiplus::Pen * pen2) {
pen.get() = pen2;
}
void setStart(int xPos, int yPos) {
start.X = xPos;
start.Y = yPos;
}
void setEnd(int xCor, int yCor) {
end.X = xCor;
end.Y = yCor;
}
};
我不太明白。 http://msdn.microsoft.com/en-us/library/windows/desktop/ms534485%28v=vs.85%29.aspx說,有兩個參數 - 哪個當然需要傳遞給構造函數 – Daniel 2013-03-26 22:42:03
錯誤C2039:'shared_ptr':不是'std'的成員 錯誤C2143:語法錯誤:缺少';'之前'<' 錯誤C4430:缺少類型說明符 - 假定爲int。注意:C++不支持default-int – user1665569 2013-03-26 22:50:09
這些是我得到的錯誤,是的,我正在做的包括。當我只有std :: shared_ptr 筆;我沒有錯誤... –
user1665569
2013-03-26 22:51:03