こんにちは、私はそれは私がこのhppでベクトルを宣言するには?
std::vector<double> a(0);
のようにしかし、私のファイルで、それは動作しませんしなければならないstd::vector
宣言することを知っています。ここに私のコードは次のとおりです。
main.cppに:
#include "test.hpp"
int main()
{
Test test;
return EXIT_SUCCESS;
}
test.hpp:
#ifndef DEF_TEST
#define DEF_TEST
#include <iostream>
#include <vector>
class Test
{
public:
Test();
private:
std::vector<double> a(0);
};
#endif
と、これはTEST.CPPです:
#include "test.hpp"
Test::Test()
{
a.push_back(2.3);
std::cout << a[0] << std::endl;
}
そして、コンパイラは私に言いました:
In file included from main.cpp:1:0:
test.hpp:11:23: error: expected identifier before numeric constant
std::vector<double> a(0);
^
test.hpp:11:23: error: expected ‘,’ or ‘...’ before numeric constant
In file included from test.cpp:1:0:
test.hpp:11:23: error: expected identifier before numeric constant
std::vector<double> a(0);
^
test.hpp:11:23: error: expected ‘,’ or ‘...’ before numeric constant
test.cpp: In constructor ‘Test::Test()’:
test.cpp:5:1: error: ‘((Test*)this)->Test::a’ does not have class type
a.push_back(2.3);
^
test.cpp:6:17: error: invalid types ‘<unresolved overloaded function type>[int]’ for array subscript
std::cout << a[0] << std::endl;
ありがとうございます!