如何在netbeans 8.1中正确配置g ++编译器以支持c ++ 11 / c ++ 14?

时间:2016-03-31 05:33:25

标签: c++ netbeans-8

我是一名新手,通过stroustrup使用c ++编程原理和练习......我正在使用Netbeans ide 8.1并遇到以下问题:

#include "std_lib_facilities.h"
int main()
{
vector<int> v = {0,1,2,3,4,5,6};
for(int i = 0; i < v.size(); ++i)
    cout << v[i] << "\n";
}

如果我编译,我收到错误 无法将{0, 1, 2, 3, 4, 5, 6}<brace-enclosed initializer list>转换为Vector<int>。我认为这可能与缺少c++11或14的编译器支持有关,我的compilerg++ 4.8。我是否必须在compiler设置中添加任何内容,还是另一个问题?谢谢

2 个答案:

答案 0 :(得分:1)

确保您使用的"std_lib_facilities.h"$(document).ready(function() { $("#files").on("change", handleFileSelect); selDiv = $("#selectedFiles"); $("#myForm").on("submit", handleForm); $("body").on("click", ".selFile", removeFile); }); var selDiv = ""; var storedFiles = []; function handleFileSelect(e) { var files = e.target.files; var filesArr = Array.prototype.slice.call(files); var device = $(e.target).data("device"); filesArr.forEach(function(f) { if (!f.type.match("image.*")) { return; } storedFiles.push(f); var reader = new FileReader(); reader.onload = function(e) { var html = "<div><img src=\"" + e.target.result + "\" data-file='" + f.name + "' class='selFile' title='Click to remove'>" + f.name + "<br clear=\"left\"/></div>"; $("#selectedFiles").append(html); } reader.readAsDataURL(f); }); } function handleForm(e) { e.preventDefault(); var data = new FormData(); for (var i = 0, len = storedFiles.length; i < len; i++) { data.append('files', storedFiles[i]); } var xhr = new XMLHttpRequest(); xhr.open('POST', 'handler.cfm', true); xhr.onload = function(e) { if (this.status == 200) { console.log(e.currentTarget.responseText); alert(e.currentTarget.responseText + ' items uploaded.'); } } xhr.send(data); } function removeFile(e) { var file = $(this).data("file"); for (var i = 0; i < storedFiles.length; i++) { if (storedFiles[i].name === file) { storedFiles.splice(i, 1); break; } } $(this).parent().remove(); }代替new版。

答案 1 :(得分:0)

为c ++ 14添加编译器标志-std = c ++ 14,为c ++ 11添加-std = c ++ 11.同样只将其中一个标志添加到IDE中的构建标志。