2

I have code that I wrote quite a while ago, and I don't do that much 'C++' these days. I've compiled the code with no issues in 'Visual C++ 2010 Express'. I've compiled it in vs2015 and I get an error with the 'std::array'. Could someone be kind enough to explain my error.

This compiled ok in 'Visual C++ 2010 Express'

// create arrays to hold port write data​
array<DataChunk>^ dataArray = gcnew array<DataChunk>(1008); 

But compiled in vs2015 with the error:

1>c:\users\carl\desktop\pond control\pond control\Form1.h(1199): error C2976: 'std::array': too few template arguments

1>  C:\Program Files\Microsoft Visual Studio 14.0\VC\include\utility(306): note: see declaration of 'std::array'

Any help would be most appreciated.

Mat
  • 202,337
  • 40
  • 393
  • 406
fatmanming
  • 165
  • 1
  • 3
  • 12

1 Answers1

1

std::array is a container data type that encapsulates "regular" fixed-size arrays. You need to provide the array size as a template parameter:

auto dataArray = gcnew array<DataChunk,1008>(); 
unexpectedvalue
  • 6,079
  • 3
  • 38
  • 62