2013-07-29 5 views
10

के साथ प्रारंभ नहीं किया जा सकता है, मैं निम्नलिखित कोड के साथ एक शीर्षलेख में एक नक्शा प्रारंभ करने की कोशिश कर रहा हूं, लेकिन यह मुझे शीर्षक में त्रुटि दे रहा है। मैं सी ++ 11 का उपयोग कर रहा हूं, इसलिए यह संभव होना चाहिए, है ना?स्टेटिक सी ++ मानचित्र प्रारंभिक त्रुटि C2552: गैर-समेकित प्रारंभकर्ता सूची

typedef std::map<NPCAnimation::ID, std::map<Direction::ID, sf::Time>> AnimationSpeedMap; 
AnimationSpeedMap AnimationSpeeds = { 
    {NPCAnimation::WALK, { 
      {Direction::LEFT, sf::milliseconds(100)}, 
      {Direction::RIGHT, sf::milliseconds(100)}, 
      {Direction::UP, sf::milliseconds(200)}, 
      {Direction::DOWN, sf::milliseconds(200)} 
     } 
    }, 

    {NPCAnimation::IDLE, { 
      {Direction::LEFT, sf::milliseconds(600)}, 
      {Direction::RIGHT, sf::milliseconds(600)}, 
      {Direction::UP, sf::milliseconds(600)}, 
      {Direction::DOWN, sf::milliseconds(600)} 
     } 
    }, 

    {NPCAnimation::SPECIAL, { 
      {Direction::LEFT, sf::milliseconds(500)}, 
      {Direction::RIGHT, sf::milliseconds(500)}, 
      {Direction::UP, sf::milliseconds(500)}, 
      {Direction::DOWN, sf::milliseconds(500)} 
     } 
    }, 
}; 

अग्रिम धन्यवाद! ~ grambler1

+0

वी.एस. के अपने संस्करण पर निर्भर करता है, और अगर यह सब पर समर्थित है मैं अनिश्चित हूं। – hmjd

+0

मैं वीएस2012 एक्सप्रेस का उपयोग कर रहा हूं। प्रारंभकर्ता सूचियां नए सी ++ 11 मानक – BarrensZeppelin

+0

द्वारा समर्थित हैं हां, वे हैं लेकिन वे VS2012 में लागू नहीं हो सकते हैं (और यह इस त्रुटि से दिखाई देता है)। – hmjd

उत्तर

14

वीएस2012 प्रारंभकर्ता सूची वाक्यविन्यास का समर्थन करता है, लेकिन वीएस2012 std::map का कार्यान्वयन नहीं करता है। इसे जोड़ने के लिए आपको समर्थन के लिए इंतजार करना होगा।

+1

विजुअल स्टूडियो 2013 में प्रारंभकर्ता सूची के लिए समर्थन जोड़ा गया है। आप VS2012 में ब्रैकेट-प्रारंभ नहीं कर सकते हैं। http://msdn.microsoft.com/en-us/library/vstudio/bb386063(v=vs.120).aspx –

+0

2012 सीटीपी में वर्दी प्रारंभिकरण के लिए समर्थन शामिल है। –

संबंधित मुद्दे