我想宣佈一個特定的增強ublas向量作爲全局變量。問題在於函數外部的聲明總是導致錯誤。功能之外的Ublas向量初始化
這裏是一個具體的例子:
下面的代碼將會給多個錯誤:(error C2143: syntax error : missing ';' before '<<=' error C4430: missing type specifier - int assumed. error C2371: 'test' : redefinition; different basic types
)
#include <boost/numeric/ublas/matrix.hpp>
#include <boost/numeric/ublas/io.hpp>
#include <boost/numeric/ublas/assignment.hpp>
using namespace boost::numeric::ublas;
vector<int> test(3);
test <<= 1,2,3;
void main() {
std::cout << test << std::endl;
}
移動聲明主程序但是工作
#include <boost/numeric/ublas/matrix.hpp>
#include <boost/numeric/ublas/io.hpp>
#include <boost/numeric/ublas/assignment.hpp>
using namespace boost::numeric::ublas;
vector<int> test(3);
void main() {
test <<= 1,2,3;
std::cout << test << std::endl;
}