さて、私は今何かをコンパイルしようとしていますが、C ++は初めてなので、コード自体がエラーを引き起こしている可能性がありますが、Eclipseが表示しているコード自体に赤いマークは表示されません。
これがエラーの内容です
c:\ mingw \ bin ../ lib / gcc / mingw32 / 4.6.2 / include / c ++ / bits / move.h:128:7:エラー:読み取り専用参照'__a'の割り当て
c:\ mingw \ bin ../ lib / gcc / mingw32 / 4.6.2 / include / c ++ / bits / move.h:129:7:エラー:読み取り専用参照'__b'の割り当て
私が何をする必要があるかについてのアイデアはありますか?Win7で、Eclipse Juno forC++とMingwCCを使用
これが私がコンパイルしているものです。私が追加した唯一の新しいものは、誰かが私の順列プログラムに使用するように私に言ったこの「スワップ」のものでした。
更新されたPermutation.cc
#include <iostream> // for cout
#include <cstdio> // for printf()
#include <sstream> // for stringstream
#include <stdio.h>
#include <string.h>
#include "Permutation.h"
using namespace std;
Permutation::Permutation() {
/* nothing needed in the constructor */
}
void Permutation::permute(string str) {
int low = 0;
int high = str.length();
int j;
if (low == high) {
cout << str << endl;
} else {
for (j = low; j <= high; j++) {
std::swap(str[low], str[j]);
permute(str, low + 1, high);
std::swap(str[low], str[j]);
}
}
}
void Permutation::permute(string str, int low, int high) {
// int j;
// if (low == high) {
// cout << str << endl;
// } else {
// for (j = low; j <= high; j++) {
// std::swap(str[j + low], str[j + j]);
// permute(str, low + 1, high);
// std::swap(str[j + low], str[j + j]);
// }
// }
}
Permutation.h
#pragma once
#include <string>
using namespace std;
class Permutation {
public:
Permutation();
void permute (string);
void permute (string, int, int);
private:
/* attemp to solve this problem without adding
* any instance variables/data members, but
* you may add private helper function members
* as many as you need */
};
main.cc
#include "Permutation.h"
int main()
{
Permutation p;
p.permute ("Permute");
p.permute ("--*--", 2, 3);
}