使用构造函数初始化Neural Net对象时出错

时间:2016-11-20 18:12:14

标签: c++ vector constructor neural-network

我想知道为什么我会收到以下错误:

Main.cpp的

int main(int argc, char const *argv[]) {
    vector<unsigned> topology = {3, 2, 1};
    Net (topology);

    /* more code */
}

Net.h

class Net {

public:
    Net(const std::vector<unsigned> &topology);
}

错误:

Main.cpp:18:10: error: redefinition of 'topology' with a different type: 'Net' vs 'vector<unsigned int>'
    Net (topology);
         ^
Main.cpp:17:22: note: previous definition is here
    vector<unsigned> topology = {3, 2, 1};
                     ^
1 error generated.

如果在main中,错误是固定的,而不是:

Net (topology);

我用的是:

Net net(topology);

我知道创建一个要使用的变量更有意义,但如果出于某种原因我想创建一个矢量&lt;净&gt;我想做一些像v.push_back(Net(拓扑))的东西。有人会知道这个错误的原因吗?

1 个答案:

答案 0 :(得分:2)

    <div id="map"></div>
        <script>
          function initMap() {
            var uluru = {lat: -25.363, lng: 131.044};
            var map = new google.maps.Map(document.getElementById('map'), {
              zoom: 4,
              center: uluru
            });
            var marker = new google.maps.Marker({
              position: uluru,
              map: map
            });
          }
        </script>
        <script async defer
        src="https://maps.googleapis.com/maps/api/js?key=AIzaSyBE95rVRz0viHQOBKKikYxl5WsYFROclUU&callback=initMap">
        </script>



viewSelectlocation.js


 angular.module('myApp.viewSelectlocation', ['ngRoute'])

        .config(['$routeProvider', function ($routeProvider) {
            $routeProvider.when('/viewSelectlocation', {
                templateUrl: 'viewSelectlocation/viewSelectlocation.html',
                controller: 'SelectlocationController'
            });
        }])

        .controller('SelectlocationController', function ($scope, $http, $location) {



        });

在此处,您可以使用Net (topology); 的名称创建Net。我可以看到你试图用topology作为构造函数参数创建一个匿名Net,但括号不是那么强大。他们在这里被忽略了。

为您的新topology命名,以便解析器理解您的意思:

Net

在表达式上下文中,它已经可以工作了;所以,如果你按照你的建议编写Net myNet(topology); 那么它会起作用,所以你可能在问之前就已经尝试过了。