DirectX 12を使用してC++で動的配列を作成しようとしています。 DirectX 11用に作成されたため、ここでは良い変更が行われました。エラーC2679バイナリ '=':タイプ 'int'の右オペランドを取る演算子が見つかりません(または受け入れ可能な変換はありません)
実行時にこのエラーが発生します。 「=」バイナリ
重大度コード説明プロジェクトファイルの行の抑制状態
エラーC2679:なしオペレータは
タイプの右辺のオペランド「INT」を取る(あるいは全く許容可能な変換はありません)が見つかりません
ここには問題があると言うコードがあります。
Vector(int a)
{
size = a;
obj = new T[size];
for(int i = 0 ; i<size; i++)
{
obj[i] = NULL;
}
}
完全なヘッダーです。
#include<iostream>
using namespace std;
template <class T>
class Vector
{
private:
int size,capacity;
T *obj;
public:
Vector()
{
size = capacity = 0;
obj = NULL;
}
~Vector()
{
delete [] obj;
}
Vector(int a)
{
size = a;
obj = new T[size];
for(int i = 0 ; i<size; i++)
{
obj[i] = NULL;
}
}
int size_of_list();
bool empty();
void reserve(int);
T& operator[](int);
T at(int);
T front();
T back();
void push_back(T element);
void pop_back();
void insert(int,T);
void erase(int);
};
.cppファイルはリクエストに応じて利用できます。
[mcve]を入力してください。 –
タイプTとは何ですか?あなたはNULLを割り当てようとしていますが、Tが指定されていないポインタの場合にのみ有効になります。 – Shirik
先に進む前に、良いC++の本を読んでください。 –